P3620 [APIO/CTSC 2007]数据备份

Solution

显然性质:最优解每组一定相邻。
考虑\(D_i = a_i - a_{i - 1}\),即选\(K\)\(D_i\),使得和最小且不相邻。

发现选了\(D_i\)就不能选\(D_{i - 1},D_(i + 1}\),只能在去掉两个后选最小配对,或者选择\(D_{i - 1},D_{i + 1}\),但是我们不能单独取\(\min\)来选择,因为这会影响后面的决策,但是我们可以增加反悔机制,即先选\(D_i\),然后删除\(D_{i - 1},D_i,D_{i + 1}\),原位置加入\(D_{i - 1} + D_{i + 1} - D_i\),如果第二轮选了这玩意,相当于第一轮没选\(D_i\),前两轮选了\(D_{i - 1},D_{i + 1}\),每次选择最小的,进行\(K\)轮,用链表和最小堆维护。

posted @ 2021-03-13 23:33  luyiming123  阅读(37)  评论(0编辑  收藏  举报