专栏文章

题解:P12848 [蓝桥杯 2025 国 A] 游戏

P12848题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mip2t6lj
此快照首次捕获于
2025/12/03 05:14
3 个月前
此快照最后确认于
2025/12/03 05:14
3 个月前
查看原文
关于本题,有一个重要的结论:答案一定不超过 22,评测用例规模与约定中隐约暗示了这一点。
该结论的证明如下:
  • n<3n < 3,结论显然正确。
  • n3n \ge 3,在 (1,n)(1, n) 间连一条边,在 (n2,n)(n - 2, n) 间连一条边。于是游戏一定有解:
    • (1,n)(1, n) 的边可以用于将整个序列循环移位:全体序列向右移动一次,然后将位置 nn 的石块移动到位置 11
    • (n2,n)(n - 2, n) 的边可以用于将 n2n - 2 位置和 n1n - 1 位置的石块互换位置,实际上就是一个长度为 22 的循环移位。
    • 基于上述两种操作,我们可以实现交换任意两个相邻的石块的操作。只需将它们循环位移到最后,然后交换即可。
    • 能交换任意两个相邻元素意味着可以对任意序列进行排序。
既然答案有且仅有 0,1,20, 1, 2,我们可以分类讨论:
答案为 00 当且仅当序列已经有序,因为不加边就不能改变序列。
否则,答案为 11 当且仅当存在一个区间,对其进行循环位移后全体序列有序。
  • 充分性:令该区间为 [x,y][x, y],我们可以连接 (x,y+1)(x, y + 1),将 [y+1,n1][y + 1, n - 1] 区间的石块右移一次,然后对目标区间做循环移位。
  • 必要性:对于我们连接的一条边 (x,y)(x, y)[1,x1][1, x - 1][y,n1][y, n - 1] 位置的石块不可能改变在序列中的位置,且 [x,y1][x, y - 1] 区间内只能够循环移位。
  • 如何找到这个可能的区间呢?区间外一定有 ai=ia_i = i,区间内一定有 aiia_i \ne i,只要找到第一个和最后一个位置不正确的石块,检查该区间是否可以通过循环移位变得有序即可。
否则答案为 22

评论

0 条评论,欢迎与作者交流。

正在加载评论...