刷题笔记

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)\)


大概很有教育意义?复习预习了暑假没弄懂的启发式合并

posted @ 2025-12-18 18:47  Samhu07  阅读(7)  评论(0)    收藏  举报