AtCoder Regular Contest 185
保龄选手来写下记录。
A#
由于
这说明如果一个人至少有两张牌,当前回合一定不会输。
设
Alice 打出最后一张牌后局面达到
设
-
。如果 Bob 一直将
保留到最后,他就赢了。-
Bob 手中牌数
。可以用除
外的另外两张来保证自己不会输。 -
Bob 手中牌数等于
。设 Alice 打出最后一张牌为
。则 Bob 倒数第二轮不打
能达到的局面为 ,不会输。
-
-
,无论如何 Bob 都不会赢。
B#
定义一个非降序列是「好的」当且仅当序列极差不大于
结论:答案合法当且仅当他能操作为一个好的序列。
充分性:好序列也是非降的。
必要性:任意非降序列都能操作为一个好序列:
- 每次找到靠的最近
满足 ,一定有 ,否则 更靠近 ,同理 。 - 操作后仍然满足
。 - 不断操作直到找不到
(极差不大于 )。
最后能转化为的好的序列是唯一确定的,设为
记
非法当且仅当存在
一次操作
必要性显然,考虑充分性。
不妨将一次操作当成
C#
记
枚举
。 。
一旦我们知道
考虑计算
即所有
时间复杂度
D#
不妨先考虑
把一次「根
假设当前已经走过
最后答案即
考虑一般的
设
问题抽象为:深度从
设
那么
对于任意
对于
对于
可以递推出
E#
首先有朴素 DP:
注意到
同时维护
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】