hdu1513Palindrome【最长公共子序列&滚动数组】
来源:互联网 发布:千里眼远程监控软件 编辑:程序博客网 时间:2024/06/05 18:24
问加几个字符能变成回文串==赤裸裸的LCS 而且都不用记录路径 MLE了两发才意识到真的得用滚动数组==
/************hdu15132016.2.12483MS1616K975 BG++************/#include <iostream>#include<cstdio>#include<cstring>using namespace std;int c[2][5005],n,sum;char x[5005],y[5005];void cal(){ memset(c,0,sizeof(c)); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(x[i-1]==y[j-1]) { c[i&1][j]=c[(i-1)&1][j-1]+1; // b[i][j]=0; } else if(c[(i-1)&1][j]>c[i&1][j-1]) { c[i&1][j]=c[(i-1)&1][j]; //b[i][j]=1; } else { c[i&1][j]=c[i&1][j-1]; //b[i][j]=-1; } } }}int main(){ // freopen("cin.txt","r",stdin); while(~scanf("%d",&n)) { scanf("%s",x); for(int i=0;i<n;i++) y[n-i-1]=x[i]; sum=0; cal(); printf("%d\n",(n-c[n&1][n])); } return 0;}
0 0
- hdu1513Palindrome【最长公共子序列&滚动数组】
- hdu1513Palindrome(动态规划之最长公共子序列变形+滚动数组)
- hdu 1513 使用滚动数组的最长公共子序列
- poj1159 Palindrome 最长公共子序列 + 滚动数组
- hdu1159(最长公共子序列,滚动数组)
- 回文 Palindrome 最长公共子序列 滚动数组
- poj 1159 Palindrome(最长公共子序列 + 滚动数组)
- poj 1159 Palindrome 最长公共子序列 滚动数组
- poj 1159 最长公共子序列+滚动数组
- 最长公共子序列(滚动数组优化)
- poj1159 Palindrome(最长公共子序列, dp+滚动数组)
- 最长公共子序列(DP + 滚动数组)
- poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)
- POJ 1159 Palindrome(区间DP/最长公共子序列+滚动数组)
- 【poj 1159】 Palindrome DP(类最长公共子序列)+滚动数组
- HDU/HDOJ 1159/POJ 1458 Common Subsequence(最长公共子序列LCS,滚动数组)
- HDU:1513 Palindrome(回文字符串+最长公共子序列+滚动数组)
- POJ1159Palindrome(区间dp回文串最长公共子序列+滚动数组模板)
- 批处理添加右键菜单项
- Growth iOS 1.0版 发布——社区功能:更好的学习气氛
- NodeJS Express 视图查找逻辑
- POJ 2641 Billiard(计算几何)
- JUnit Test NOSQL
- hdu1513Palindrome【最长公共子序列&滚动数组】
- 快速幂的学习
- Light OJ 1140 How Many Zeroes? (数位DP)
- 反向输入字符串--经典递归
- hdu1503Advanced Fruits【最长公共子序列】
- 第一天,First Blood
- 处理把BOOL值存入NSMutableDictionary,从NSMutableDictionary中取出BOOL值
- hdu4268 Alice and Bob(贪心)
- Codeforces 622