|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
给一列数要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段最大的和是多少。
费用流的构图线段树手动模拟增广过程
维护一段区间的最大子序列
每次我们提取出一个最大子序列时,我们要把这个子序列取反(*-1防止重复选择),所以还需要维护最小子序列
每进行一次取反当湔最大和子序列一定变成最小和子序列,最小和子序列一定变成最大那么直接swap一下就可以了
鉴于一次询问需要增广K次,每一次都要要取反所以需要开一个栈记录一下当前询问所反转的所有区间,在结束时还原
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。