Chain Reaction
好题,介绍一下向上取整的整除分块
首先来看一下另一种做法吧
先看这篇文章
解释一下,再次需要操作的次数实际上就是还有多少个连续的正数的段,不难发现在攻击力为
然后来解释一下我的做法,首先这道题目跟Chip and Ribbon这道题目非常像,都可以转化成积木大赛
那么这道题目怎么转化呢?首先对一个确定的
问题是怎么优化,实际上,我们使用转化对象法,不从
但是这里是向上取整,我们不能简单的将蓝书上的推导,所有下取整符号换成上取整符号,小于等于号和大于等于号都取反来做,尽管这样的推导是正确的,但是最后分的段没有分完全。比如如果我们这么做了,那么每一段就是
所以这样就会导致TLE,但是仍然有一个正确的结论:最多只能分成
那么也就是说,我们仍然可以使用这样的算法:最开始令
那么这个
那么现在时间复杂度正确了,怎么统计答案呢?实际上,我们发现答案只与差分数组有关,所以我们循环讨论每一个怪物,如果这个怪物的血量比前一个的高,那么这里的差分肯定为正数(反之为负数,处理方法一样,下面只讨论正数的情况),我们对这个怪物进行上面的循环,然后将答案数组(e.g.,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构