Codeforces Round 816 (Div. 2)
1|0基本情況
A秒了,B错一次之后也过了,C没思路。
2|0B. Beautiful Array
这个贪心大体上好像很对,但是又是细节问题。
- 我把剩下的
都赋成 ,然而 是 啊,我要搞的是等于零的最大可能的数,自然是 。 还不够贪,可以往上找到最大的符合 的数,一开始样例跑了很久,突然发现可能会T,然后改用二分就OK。(然而这个改进并不影响正确性,似乎数据不大行)
这两个改完就AC了。
3|0C. Monoblock
想了一个递推,还是错的,时间复杂度也不行。
3|1思路
每次只变一个数,因此考虑在短时间内计算:每个位置的数产生的贡献。
容易发现以下的条件:
- 不管
是什么,当它作为一个子串的首项时,块数一定会加一。共有 个串的首项是 。 - 如果
,所有包含 与 的子串,块数都加一。乘法原理,头有 个位置可以选( 到 ),尾有 个位置可以选( 到 ),共 。
那么,我们就可以知道
然后,我们可以计算:原本的
那么,怎样在短时间内计算
- 减去
与 产生的贡献,减去 与 产生的贡献。因为它们过一会会变。 - 更改
。 - 重新加上
与 产生的贡献,以及加上 与 产生的贡献。
然后再输出结果即可。
3|2代码
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/17909159.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/17909159.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下