AGC033E 题解

First Post:

Last Update:

远古 AGC 还是有些挺简单的题的。

首先假设 ,否则将整个串 取反对答案无影响。

那么环上就不可能出现连续两个 ,这启发我们考察连续两个 中间的 连续段长度

那么 必须是奇数。因为考察起点两边 的个数,如果两边 的个数的奇偶性都与 中第一段 长度的奇偶性不同,显然无法从起点走到两边的 。当 存在偶数时两边都为偶数或都为奇数,一定存在这种情况。

进一步地也可以推出,设第一段 长度为 ,那么

再考虑第二段及以后的限制。因为 是奇数,在 中一段长度为偶数的 显然不会让你从一个 跳到另一个 ,只会原路返回,而一段长度为奇数的 可以让你跳到唯一一个离自己最近的 。也就是说, 中第二段及以后的 段,可以在任意一个在环上的 连续段被走到,所以 必须不超过 中第二段及以后的 段的长度。

容易证明上述三个限制是充要的,据此 DP 即可。设 表示长度为 的链,两端为 的方案数。算答案时枚举第一个 和最后一个 之间 的个数 ,将 累加进答案即可。