刷题笔记
ARC 211 C
首先将连续的#与.缩成一个点。 记 \(w_i\) 为每一个区间的 \(v\) 的最大值
为了将序列清空且每次只能选相邻两个.,操作次数是固定的,原序列的每一个 . 区间的 $ w_i $ 都至少被贡献过一次,而剩下的若干个能贡献进答案的数又总能是全局最大值
P14577
磁铁种类数只有 26 个,可拆开考虑每一种磁铁的贡献。
注意到每一种磁铁只有最后一个可能留下
ARC 208 A
将一堆石子拿走任意个,在二进制下本质是将某一位1改为0,之后的位随便填。
本题与 nim 游戏相通之处是,某一位1改为0确保了有一位的1数量的奇偶性必须改变。
对一串数字亦或 本质上是 看每一位上的1数量的奇偶。所以可以用亦或来指示。
CF 337 D
原先想从染色点出发将 \(dis \le d\) 的点 +1 ,于是与点分树大战。
后来发现可以求每个点到染色点的最大距离,树形DP就做完了。
原来点分树的做法也可以,不过不太熟练罢了
CF 2101 B
贪心的想,我们把奇位和偶位分开排序,可以得到最优解。唯一的问题是最后 \(a_{n-2}\) 与 \(a_{n}\) 无法排序,也就是会让 \(a_{n-2} > a_{n}\)
看题解前止步于此
考察一次交换操作对逆序对的影响,发现 奇数位逆序对数量奇偶性的改变 与 偶数位逆序对数量奇偶性的改变 是同时发生的
而 \(a_{n-1}\) 所在的奇偶位逆序对数量为0,据此推出 \(a_{n}\) 所在的奇偶位逆序对数量
CF 1320 C
按武器攻击力从小到大考虑,然后思考武器攻击力变大后对每件防具的影响:
武器攻击力变大后,新增了满足怪物防御力<=武器攻击力的怪物
这些怪物可以对满足怪物攻击力 <= 防具防御力的防具造成贡献
注意到将防具排序后,受益的防具是一个[l,maxv]的区间
用线段树维护每个防具的贡献即可
P4577
看的是第一篇题解
首先参考序列上的 dp 设计,定义f[u][i]表示在 u 的子树内,大小为 i 的方案中,最小值的最大值 w
其次注意到 f[u] 单增,可以将 f[u] 由一维数组改为 multiset,集合中有多少个数比 w 大,就表示 u 代表的方案大小
之后是启发式合并,详细的看题解吧
复杂度 \(O(n log^2n)\)
大概很有教育意义?复习预习了暑假没弄懂的启发式合并

浙公网安备 33010602011771号