2026.3.23
2026.3.23
CF1618G Trader Problem
\(\color{blue}{并查集}\)
把所有物品按照价值排序,那么可以换的物品一定是一个区间。把问题离线,从小到大扫 \(k\),每次使用并查集合并新的区间,统计答案即可。
CF79D Password
\(\color{blue}{差分,\text{DP},最短路}\)
把每次区间翻转用差分变成翻转两个点。已经亮的灯数量很少,考虑状压。设 \(f_S\) 表示已经把集合 \(S\) 全部消成 \(0\) 的操作数量。只需要知道把任意两个位置消除成 \(0\) 的代价即可。发现最优策略一定是把两个 \(1\) 互相消除抵消。于是 \(i\) 向 \(i+a_i\) 和 \(i-a_i\) 连边,那么第 \(i\) 个 \(1\) 和 第 \(j\) 个 \(1\) 一起被消除为 \(0\) 的代价就是 \(i\) 和 \(j\) 之间的最短路。用 BFS 预处理辅助 DP

浙公网安备 33010602011771号