【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)$ 做法不懂啊,怎么证明的(求证)

 

 后记

 所以这是普及组大赛么

posted @ 2019-07-25 10:35  大本营  阅读(292)  评论(2编辑  收藏  举报