Loading

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

posted @ 2026-03-23 20:47  legendcn  阅读(5)  评论(0)    收藏  举报