抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

传送门 ProProPro 长度为nnn的序列,序列中的值为111或−1−1−1 有mmm个询问,询问在[L,R][L,R][L,R]中区间和为000的区间的最大长度 SolSolSol 考虑莫队 对于区间[l,r][l,r][l,r],统计两个数组Max[i]Max[i]Max[i]和Min[i]Min[i]Min[i],表示max⁡j(∑k=lja[k]=i)\max j (\sum...

传送门 首先建议看一下这篇博客,学习一下回滚莫队和撤销的奇巧淫技。 0≤ai≤1090 \le a_i \le 10^90≤ai​≤109,蜃是恐怖,但是发现如果答案ans>n+1ans > n+1ans>n+1,说明1...n+11 ... n+11...n+1所有数都出现过,但是我们只有nnn个数,所以矛盾,于是读入的时候这样处理即可。 1a[i]=min(n+1,re...

BZOJ GDOI 首先,安利一下巨佬ypy的博客,我的思路是参照ypy博客的。 先说一下我的思路,首先,将问题抽象为往一个数轴上面放111,求最长连续111的值。 Sol1: 线段树维护连续111的最大值,代码非常简单,维护区间连续111最大值maxnmaxnmaxn,从左边开始连续111最大值lmaxlmaxlmax,从右边开始连续111最大值rmaxrmaxrmax,区间111的和v...

传送门 首先,如果这道题用的是普通的莫队,那么删除元素的时候,可能出现次数最大的那个元素的出现次数被减少至小于出现次数第二大的那个元素的出现次数,此时,你就没法知道出现次数第二大的元素的值,就咕咕了。 当然你也可以用一个set\rm setset搞,但是估计会TLE\rm TLETLE 这里要介绍一种莫队,叫做回滚莫队。 先考虑莫队的排序方式,我们把整个序列分块,以左端点所在的块的编号为第一...