定义dp[i][j]为从n到i点及j点的最长匹配长度
状态转移方程为
if(str[i]==str[j])dp[i][j]=dp[i+1][j+1]+1
else dp[i][j]=0
循环顺序
for(int i=n;i>0;i--){
for(int j=n;j>0;j--){
}
}
这种算法可以快速地O(1)求出两个子串的匹配长度
可以运用于dp的优化
定义dp[i][j]为从n到i点及j点的最长匹配长度
状态转移方程为
if(str[i]==str[j])dp[i][j]=dp[i+1][j+1]+1
else dp[i][j]=0
循环顺序
for(int i=n;i>0;i--){
for(int j=n;j>0;j--){
}
}
这种算法可以快速地O(1)求出两个子串的匹配长度
可以运用于dp的优化