摘要:
Problem - 1870D - Codeforces Prefix Purchase - 洛谷 先说一个我想的错误的贪心:先用单调栈把原序列构造成单增序列,选出 \(\lfloor \frac{K}{c_i} \rfloor = \lfloor \frac{K}{c_1} \rfloor\) 的 阅读全文
摘要:
CF1872E 翻译 请把数据加强到 \(\sum n \leq 10^8\) 后重新思考。 我们维护全局中被标记的所有点的异或和。发现对于一次 \(1\) 操作,相当于让答案异或上区间的 \(a_i\) 异或和,因为这会让被标记的点变成没被标记的,而没被标记的点会产生贡献。 查询的话直接查询即可 阅读全文
摘要:
Problem - 1890D - Codeforces 这个式子左边是加法,右边是乘法,很不好算 但其实是降智题,不过同时也是我不擅长的找性质 因为式子左边是加法而不是乘法,因此像类似于并查集那样求出当前每个联通块内 \(\sum a_i\) 等价于固定一个点从这个点的联通块向外扩展。 \(i\) 阅读全文
摘要:
bzoj #4069 二进制?按位考虑。 或操作而且最小?按位贪心。 从最高位往下贪,记录一个 \(x\) 表示当前最高位确定了哪些位可以为 \(0\) (其中存在为 \(0\) 方案的位上值为 \(1\) ) 考虑 dp 处理对于第 \(t\) 位能否为 \(0\) : 设计状态:设 \(dp_{ 阅读全文
摘要:
bzoj #2863 设 \(dp_i\) 表示 \(i\) 个点的 DAG 个数。发现一个 DAG 删去出度为 \(0\) 的点后显然还是一个 DAG ,因此不妨枚举出度为 \(0\) 的点的个数: \(dp_i = \sum\limits_{j=1}^i dp_{i-j}\binom{i}{j} 阅读全文
摘要:
P6185 首先考虑只有 \(t=2\) 的情况,我们发现假如把读入的所有边连成一张图,则在同一联通块的点可以通过不断传递做到一个 \(+1\) 一个 \(-1\) ,也就是说在这个联通块内的点的和是不会改变的,因此让这个联通块内 \(a_i=b_i\) 就等价于 \(\sum a_i = \sum 阅读全文
摘要:
ABC229G洛谷链接 atcoder链接 容易发现如果最终答案有两个相邻的数 \(b_i,b_{i+1}\) 满足 \(b_i>b_{i+1}\) 且 \(b_i\) 之后出现过,则显然可以找到另一个不劣的答案不满足这个性质 先说一个错误的结论:从前往后考虑,用链表维护答案,对于加入的一个数 \( 阅读全文
摘要:
P3239 bzoj #4008 根据期望的线性性,我们设 \(E_i,P_i\) 分别表示第 \(i\) 张卡牌期望造成伤害和第 \(i\) 张卡牌被选择的概率。我们可以知道: \[\begin{align} Ans &= \sum\limits_{i=1}^{n} E_i \\ &= \sum\ 阅读全文
摘要:
P3989 bzoj #4416 先考虑部分分,看到 \(n \leq 20\) 容易想到这个部分可以用状压 起初可以设 \(dp_{S,i}\) 表示在前 \(i\) 个数中选出集合 \(S\) 中的字母是否可行,转移即枚举下一个字母是什么 这个 dp 有一个很显然的性质:他肯定是前缀一段 \(0 阅读全文