1 条题解
-
0
自动搬运
来自洛谷,原作者为

Breath_of_the_Wild
坐标 BJ XC ||搬运于
2025-08-24 22:57:18,当前版本为作者最后更新于2024-08-13 19:58:46,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
洛谷赛时的时候没做出来,没想到今天校内模拟赛就推出来了,特此写一篇题解。
首先我们注意到, 一定为 、 或 ,因为答案最多的情况就是 ,答案为 。
于是序列算出来的结果不会超过 。于是题面就变成了:给一个序列,按照题目要求模拟,最后结果是否为 。只有这样所有的 才会一定 。
但是直接模拟会超时。于是考虑:什么样的序列操作完毕后为 ?可以从还剩一个数为 的情况,倒推回还剩 个数的情况回去。
我先举几个例子。倒推 行,显然为了使结果为 ,这一行应该为 和 (注意翻转过去也可以)。再往前推一行,由于中间位置和两个数操作结果又有 又有 ,故中间应该填一个 的数。于是左边应填 的数,右边应填 。
以此类推,剩下的可以参考我画的这张图:
注意到当 很大时,用到的只有中间的几个数,因为其他的位置可以随便填。
根据图片,进行分情况讨论:如果 是奇数,只需要判断 且 且 ,或者 且 且 即可(第二种情况是翻转,也可以)。
如果 是偶数,只需要判断 且 且 且 ,或者翻转过来 且 且 即可。
另外,注意特判 ,因为 时 满足条件的只可能为 或 。
- 1
信息
- ID
- 9933
- 时间
- 500ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者