CF 1238 题解
CF 1238 题解
A Prime Subtraction
任何数的因数中都会有质数, 除非他是
因此原题不合法当且仅当
B Kill 'Em All
首先, 答案有明确的下界: 最右面的怪兽一定要处理. 不断模拟去杀掉当前最靠右的怪兽, 得到的答案就是答案的下界.
是否能取到下界呢? 答案是肯定的. 注意到刚刚的过程可以顺带把所有怪兽都杀掉, 是一种合法的方案.
C Standard Free2play
考虑每到达一个台阶, 首先它可以没有代价的到达下面一个台阶的上方
这个贪心的正确性在于一定想要用较少的钱到达较低处的位置, 在更高的位置显然不优.
D AB-string
一个很好的性质是字符集只包括两种字符.
这样, 不符合要求的串只有 AAAA...AAB
和 ABB...BBB
以及类似形式.
扫一遍就可以统计了.
E Keyboard Purchase
首先, 字符集大小
答案只与相邻两个字符是什么有关, 与原串无关, 考虑转化: 记
特别的, 对任意
现在要给每个字符分配一个位置排列
我们想要答案最小.
我们设计一个 dp, 首先, 每次转移按照
这个式子就比较清晰了, 用 dp 去求解这个式子的最小值就好.
设
由于按照
F The Maximum Subtree
考察每个节点所连子节点情况.
注意到一个节点所有相邻节点都不能有公共区间, 否则有环.
考察一个节点
设计一个类似于找最长链的 dp 就可以了, 答案统计和转移式都是类似的.
Adilbek and the Watering System
这个东西很像一个反悔贪心, 但是你会发现不好维护上界小于等于
考虑脱离用堆维护反悔贪心框架的束缚, 考虑把运水的费用当用水时再计算.
考虑每次运水, 就尝试接受所有的水, 如果溢出了的话就尝试把当前最贵的水舍弃掉.
每次用水, 就把最便宜的水用掉并计入答案.
考虑需要维护最大值和最小值, map
是满足要求的, 模拟即可.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统