Palindrome
来源:互联网 发布:整理文档的软件 编辑:程序博客网 时间:2024/05/17 06:01
求最少插入多少个字符使原字符串成为一个回文串。
用字符的正向串和逆向求出最长公共子序列即可知道需要添加的字符数目。
学到一点关于滚动数组的知识。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int MAX=5050;char str1[MAX],str2[MAX];int dp[2][MAX];int main(){ int a; scanf("%d",&a); scanf("%s",str1); memset(dp,0,sizeof(dp)); for(int i=a-1;i>=0;i--) str2[a-i-1]=str1[i]; for(int i=0;i<a;i++) for(int j=0;j<a;j++) { if(str1[i]==str2[j]) { if(j!=0)dp[i&1][j]=dp[(i+1)&1][j-1]+1; else dp[i&1][j]=1; } else{ if(j!=0)dp[i&1][j]=max(dp[(i+1)&1][j],dp[i&1][j-1]); else dp[i&1][j]=0; } } printf("%d\n",a-dp[1&(a-1)][a-1]); return 0;}
- palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- Palindrome
- palindrome
- Palindrome
- Palindrome
- Codeforces---125--div2--总结
- 7 Ways to Defuse a Difficult Encounter
- MySql的join(连接)查询 (三表 left join 写法)
- java inputStream 读取数据问题
- 主流分辨率
- Palindrome
- 极限编程相关工作流程
- 2416分辨率修改
- Flex中的CSS: (9)可继承/不可继承样式的定义 以及Flex中的实现方法
- 关于python的效率问题
- 通过html和cgi实现拍照显示功能
- Flex中的CSS: (9)可继承/不可继承样式的定义 以及Flex中的实现方法 1
- 解决生成cocos2d文档中“problems opening map file”
- 关于flex控件拖拽效果的实现