1 条题解
-
0
题解
思路
若一开始 ,答案显然为
Yes。做法
否则至少需要执行一次操作,而最后一次操作会使环上某对相邻元素相等,所以若 的环上没有相邻相等元素,答案必为
No。将 中环上连续相等的元素压缩成一个,得到环序列 。一次操作只会让相邻两块中左块缩短、右块增长,因此不能改变保留下来的块在环上的相对次序;反过来,只要 是 的某个循环移位的子序列,就可以删去其余块,再利用 中长度至少为 的块调整各块长度,最终得到 。因此枚举 的 个循环起点,对每个起点按顺序扫描恰好 个元素,用双指针贪心匹配 :遇到与当前待匹配元素相同的值就向后移动指针。只要有一个起点能完整匹配 就输出
Yes,否则输出No。复杂度
单组测试用例的时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1602
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者