导弹防御塔
二分是怎么想到的?
我们假设已经找到了最终的方案,那么每一座防御塔都被分到了一些敌人去攻击
那么这个方案的时间是多少呢?就是每个防御塔的时间的最大值
每个防御塔的时间是他所分配的这些敌人里面所需要花费最长的时间去攻击的敌人的时间
相当于最大值最小,所以想到二分
蓝书上的做法固然正确,但是如果像我们上面这么想的话,显然建另一种图:
对每个防御塔,我们生成
acwing上的打卡代码换了一种实现方法
update 2024.5.30
上面的做法是从怪兽的角度来考虑的,即考虑每个怪兽是由哪一座防御塔消灭的
而蓝书的做法就是从防御塔的角度考虑的,在二分的时间内,我们不管每座防御塔到底分配到了哪些怪兽,显然每座防御塔在规定时间内不停歇地发射炮弹是最优的,然后我们再去考虑这些炮弹的分配问题就好了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构