题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5763
题意:给定一个串,对于该串的文本可以进行转义,即理解出第二种意思。给一个文本,求出对该文本的理解数。
做法:KMP + DP
另dp[i]表示以第i个字符结尾的意义数,则末尾不能转义时,dp[i] = dp[i - 1],可以转义时dp[i] = dp[i - 1] + dp[i - len]。在记录匹配时,需要用到KMP。
#include <cstdio>
#include <cstring>
typedef long long ll;
const int MAXN = 200000;
const int MOD = 1000000007;
char