• 【2019.7.24】数颜色 / 聪明的可可 / 奖章分发


     T1(luogu1903)

     学过带修莫队的人都做过的原题,不说了

     T2(luogu2634)

     普及组题不说了

     T3(luogu4409)

     可以想到二分答案后判定

     然后有点卡壳,躺床上想了想

     发现其实就是用一个线段树,维护一个守卫的奖章集合,每一位都是 $0$ 或 $1$ 的序列,要求支持查询区间和、区间取反

     那这不就是个普及组线段树题

     扫一圈递推出 $n$ 号守卫的奖章集合后,用 $1$ 号守卫再特殊处理一下 $n$ 号守卫的奖章,然后判断 $n$ 号守卫的最大奖章编号是否小于等于二分的答案

     因为答案的最大值不会超过 $max{(P_i+P_{i\%n+1})} imes 2$,所以线段树最多也就需要维护那么长的序列,时间复杂度 $O(nlog^2{P})$

     还有 $O(nlog{n})$ 和 $O(n)$ 做法,感觉 $O(nlog{n})$ 的做法挺有道理的,递推式好评

     $O(n)$ 做法不懂啊,怎么证明的(求证)

     后记

     所以这是普及组大赛么

  • 相关阅读:
    软件需求与分析课堂讨论
    Axios
    lodash
    table行拖拽
    js addDays ,addYears
    所在周的第一天
    Inner join case when
    npm 淘宝镜像安装以及安装报错window_nt 6.1.7601 解决
    jsTree
    Bootstrap Multiselect
  • 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/2019_7_24.html
Copyright © 2020-2023  润新知