博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2019.7.24】数颜色 / 聪明的可可 / 奖章分发
阅读量:5093 次
发布时间:2019-06-13

本文共 498 字,大约阅读时间需要 1 分钟。

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

 

 后记

 所以这是普及组大赛么

转载于:https://www.cnblogs.com/scx2015noip-as-php/p/2019_7_24.html

你可能感兴趣的文章
WebService—规范介绍和几种实现WebService的框架介绍
查看>>
周鸿祎:做产品体验先把自己切换到二傻子模式
查看>>
(一〇二)静态库(.a)的打包
查看>>
Nginx开启gzip压缩功能
查看>>
nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
查看>>
JQuery canvas 验证码
查看>>
mips32和x86下的大小端模式判定
查看>>
利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
查看>>
blender 用户界面基本构成
查看>>
bzoj 3561: DZY Loves Math VI
查看>>
Intel Edison学习笔记(一)—— 刷系统
查看>>
nginx跨域配置
查看>>
完整且易读的微信小程序的注册页面(包含倒计时验证码、获取用户信息)
查看>>
跟bWAPP学WEB安全(PHP代码)--SSL(Server-Side-Include)漏洞
查看>>
260. Single Number III
查看>>
easyUI 之datagrid 在前端自定义排序
查看>>
SQLite数据库管理的相关命令
查看>>
POJ1177(扫描线求周长并)
查看>>
River Problem HDU - 3947(公式建边)
查看>>
customErrors与错误页面
查看>>