题意
分析
-
类似 最长k可重区间集 一题。
-
由于本题区间长度相同,首先可以将点的影响看成区间,区间看成点。
-
先默认所有位置选择事件2,选择区间看做改选事件1 。于是问题变成了求收益最大的方案使得每个点被覆盖次数满足 (t1le xle k-t2) 。
-
首先所有的区间连边 (l ightarrow r + 1) ,容量为1,费用为 (s_i-e_i) 。然后考虑上限:连边 (S ightarrow 1) ,容量为上限 (k-t2) ,费用为0。正确性考虑如下证明:
每次贪心地选择一个没有交集的极大区间的集合,易知跨过每个点的区间每次至少被选走一个,所以所有合法方案都可以考虑到,且不会超过上限。
- 然后考虑下限:连边 (i ightarrow i+k) ,由于要保证刚才 (k-t2) 的流量至少有 (t1) 从区间中流过,所以至多有 (k-t2-t1) 的流量从边 (i ightarrow i+k) 中流过,故流量设置为 (k-t2-t1) ,费用为0。注意如果 (i+k>n+1) ,那么流量设置成无穷。
- 总时间复杂度为费用流复杂度。