【BZOJ1135】[POI2009]Lyz
题解:
hall定理。。第一次听说
思考了半小时无果
二分图匹配时间显然太大
但是有这个hall定理
二分图有完美匹配的充要条件是
对于左边任意一个集合(大小为|s|),其连边点构成的集合(大小为|s'|) 需满足(|s'|>=|s|)
正确性可能yy一下就可以出来
所以这道题
我们考虑一个连续区间
为什么要连续的呢?
如果选出的区间有不想交的部分
那么我们一定可以把它划分成两个部分
并且如果现在的问题无解这两个部分必然有一个无解
如果全部相连,中间有被包含的区间
那么我们加入它一定可以增强限制
所以我们选出的区间一定是连续的限制性才最强
那么现在我们要求的是(r-l+1+d)*k-(sum[r]-sum[l-1])的最小值
如果询问是一次
化简一下变成(r-sum[r])-(l-sum[l-1])+(1+d)*k的最小值 那么o(n)扫一遍就行了
现在询问是多次这么做显然不优(一般带修改是不会用前缀和的)
我们把它做一个平均分配
sigma{i=l;i=r;} (k-a[i]) +d*k
显然后面那个是定值
我们要求的是前面的这个的最小值,这个显然是可以用线段树维护的