题解 P3413 【SAC#1

这道题刚开始正向思维,然后处理重复的时候咕咕了。

参考了@巨型方块 大佬的题解后AC了,在这里就说几个我觉得比较重要或是容易被忽略的点,然后补充一些跳过的证明。


这道题的状态可以设为$dp[i][j][k]$,意思是长度为$i$,然后第$i$位为$j$,第$i-1$位为$k$的不是萌数的数量。

那么为什么我们只需要枚举两位呢?

这是因为所有的回文数都必定可以简化为$aa$和$aba$中的一种,证明如下:


I. 对于长度小于等于3的回文数,显然即为以上两种中的一种。(一位数忽略)

II. 对于长度大于3的回文数,讨论其奇偶性。
i. 对于长度为奇数的回文数,必定可以表示为形如$a_1a_2...a_nba_n...a_2a_1$的形式,由于包含$a_nba_n$即为$aba$形式,所以可以简化。
ii. 对于长度为偶数的回文数,必定可以表示为形如$a_1a_2...a_na_n...a_2a_1$的形式,同上可以简化。

状态转移比较水,没有什么需要特别注意的事项。

还有一点是本题需要开long long,最开始我看到膜1e9+7就只用了int,于是爆60。

原文地址:https://www.cnblogs.com/ilverene/p/9846351.html