摘要:
/* 状态f[i][j][k] 表示A串匹配到i B串匹配到j 用了k个子串 转移的话 f[i][j][k]=f[i-1][j-1][k]+f[i-1][j-1][k-1]分别表示i是不是建立了一个新的子串 当然这是我们会发现 这样的状态是默认了i用了 显然i可以不用 也就是说这样就遗漏了许多状态 我们重新定义一下他 加一维01表示i用了没用 f[i][j][k][0或1] 这样转移就要分开考虑... 阅读全文
摘要:
#include #include #include #define maxn 2010 using namespace std; int n,m,v[maxn],sum[maxn],son[maxn][maxn],s[maxn][3],f[maxn][maxn]; bool falg[maxn]; int Dfs(int k,int p) { if(k==0&&p!=m||p==0)r... 阅读全文