uva 11404
来源:互联网 发布:算法导论中文版pdf云盘 编辑:程序博客网 时间:2024/06/05 17:45
#include<iostream>#include<cstdio>#include<cstring>using namespace std;char s1[1010],s2[2010];int maxs,temp;struct node{ int cmp; string str; bool operator > (node &a) {//重载 > 号,因为要按字典序决定答案 if (cmp != a.cmp) return cmp > a.cmp; return str < a.str; }}dp[1010][1010];int main(){ int i,j,len,ans; while(~scanf("%s",s1+1)) { len = strlen(s1+1); for(i=1;i<=len;i++)//初始化 { dp[i][i].cmp = 1; dp[i][i].str = s1[i]; } for(int i=len-1;i>=1;i--) { for(j = i+1;j<=len;j++)//dp[i][j]从第i个字符到第j个字符之间的最长回文子序列 { if(dp[i+1][j]>dp[i][j-1]) { dp[i][j].cmp = dp[i+1][j].cmp; dp[i][j].str = dp[i+1][j].str; } else { dp[i][j].cmp = dp[i][j-1].cmp; dp[i][j].str = dp[i][j-1].str; } if(s1[i] == s1[j]) { dp[i][j].str = s1[i]+dp[i+1][j-1].str+s1[j]; dp[i][j].cmp = dp[i+1][j-1].cmp+2; } //dp[i][j] = MAX(dp[i][j],dp[i+1][j-1]+2);//最长回文子序列 } } cout<<dp[1][len].str<<endl; } return 0;}
0 0
- uva 11404
- UVA 11404
- uva 11404
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- uva 11404 Palindromic Subsequence
- uva 11404(dp)
- uva 11404 dp
- UVA 11404 Palindromic Subsequence
- UVa 11404 Palindromic Subsequence
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- HDFS-Datanode关于block文件的管理
- adb shell mount -o remount,rw /firmware
- Linux 搭建VPN,软件PPTP
- 数组字符串系列之,判断两个字符串互为旋转字符串
- Heritrix 3.0 and 3.1的新特性
- uva 11404
- Java Web/JavaEE/SSH相关文档在线地址
- DLL 编写与使用
- JAVA 并发小结
- cocos2d-x 3.0 HelloWorld项目创建
- 异常
- 利用shell(dig,expect等命令)对指定的递归器加热解析指定域名
- OPENGL中的矩阵
- ArcGIS教程:创建成本最低路径