【2019.7.24】数颜色 / 聪明的可可 / 奖章分发
T1(luogu1903)
学过带修莫队的人都做过的原题,不说了
T2(luogu2634)
普及组题不说了
T3(luogu4409)
可以想到二分答案后判定
然后有点卡壳,躺床上想了想
发现其实就是用一个线段树,维护一个守卫的奖章集合,每一位都是 $0$ 或 $1$ 的序列,要求支持查询区间和、区间取反
那这不就是个普及组线段树题
扫一圈递推出 $n$ 号守卫的奖章集合后,用 $1$ 号守卫再特殊处理一下 $n$ 号守卫的奖章,然后判断 $n$ 号守卫的最大奖章编号是否小于等于二分的答案
因为答案的最大值不会超过 $\max{(P_i+P_{i\%n+1})}\times 2$,所以线段树最多也就需要维护那么长的序列,时间复杂度 $O(n\log^2{P})$
还有 $O(n\log{n})$ 和 $O(n)$ 做法,感觉 $O(n\log{n})$ 的做法挺有道理的,递推式好评
$O(n)$ 做法不懂啊,怎么证明的(求证)
后记
所以这是普及组大赛么
嗯。。。