专栏文章
题解:P12848 [蓝桥杯 2025 国 A] 游戏
P12848题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mip2t6lj
- 此快照首次捕获于
- 2025/12/03 05:14 3 个月前
- 此快照最后确认于
- 2025/12/03 05:14 3 个月前
关于本题,有一个重要的结论:答案一定不超过 ,评测用例规模与约定中隐约暗示了这一点。
该结论的证明如下:
-
若 ,结论显然正确。
-
若 ,在 间连一条边,在 间连一条边。于是游戏一定有解:
- 的边可以用于将整个序列循环移位:全体序列向右移动一次,然后将位置 的石块移动到位置 。
- 的边可以用于将 位置和 位置的石块互换位置,实际上就是一个长度为 的循环移位。
- 基于上述两种操作,我们可以实现交换任意两个相邻的石块的操作。只需将它们循环位移到最后,然后交换即可。
- 能交换任意两个相邻元素意味着可以对任意序列进行排序。
既然答案有且仅有 ,我们可以分类讨论:
答案为 当且仅当序列已经有序,因为不加边就不能改变序列。
否则,答案为 当且仅当存在一个区间,对其进行循环位移后全体序列有序。
- 充分性:令该区间为 ,我们可以连接 ,将 区间的石块右移一次,然后对目标区间做循环移位。
- 必要性:对于我们连接的一条边 , 和 位置的石块不可能改变在序列中的位置,且 区间内只能够循环移位。
- 如何找到这个可能的区间呢?区间外一定有 ,区间内一定有 ,只要找到第一个和最后一个位置不正确的石块,检查该区间是否可以通过循环移位变得有序即可。
否则答案为 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...