UVA 11404 Palindromic Subsequence 刘汝佳的动归练习
来源:互联网 发布:练字很慢怎么办 知乎 编辑:程序博客网 时间:2024/05/26 14:08
写之前先写个现象:
string ss=""; char c='5'; ss+=c; cout<<ss<<endl; ss=""+c;//""+东西初始化会出问题 cout<<ss<<endl; ss=""; ss=ss+c; cout<<ss<<endl;
string的初始化直接用string s=""+char;
会出问题
上述代码的三次cout结果前后两个是正确的,中间一个是错误的。
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2399
1.428s(时限3s) 差点就要上 预处理+二分了
/**========================================== * This is a solution for ACM/ICPC problem * * @source:uva-11404 Palindromic Subsequence * @type: dp * @author: wust_ysk * @blog: http://blog.csdn.net/yskyskyer123 * @email: 2530094312@qq.com *===========================================*/#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>using namespace std;typedef long long ll;const int INF =0x3f3f3f3f;const int maxn=1000+10 ;//const int maxV=12 ;char s[maxn];int len;int dp[maxn][maxn];string str[maxn][maxn];string empty="";char tmp[3];int main(){ while(~scanf("%s",s+1)) { len=strlen(s+1); for(int i=1;i<=len;i++) { dp[i][i]=1; dp[i][i-1]=0; str[i][i]=s[i]; str[i][i-1]=""; } for(int add=1;add<len;add++) { for(int st=1;st+add<=len;st++) { int ed=st+add; dp[st][ed]=dp[st][ed-1]; str[st][ed]=str[st][ed-1]; if(dp[st][ed-1]==1&& (str[st][ed-1]>empty+s[ed]) ) str[st][ed]=s[ed]; for(int k=st;k<ed;k++) if(s[k]==s[ed]) { if(dp[st][ed]<2+dp[k+1][ed-1]) { dp[st][ed]=2+dp[k+1][ed-1]; str[st][ed]=s[k]+str[k+1][ed-1]+s[ed]; } else if(dp[st][ed]==2+dp[k+1][ed-1]) { string tmp=s[k]+str[k+1][ed-1]+s[ed]; if(tmp<str[st][ed]) str[st][ed]=tmp; } break; } } } cout<<str[1][len]<<endl; } return 0;}/*computer*/
0 0
- UVA 11404 Palindromic Subsequence 刘汝佳的动归练习
- UVA 11552 - Fewest Flops 刘汝佳的动归练习
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- uva 11404 Palindromic Subsequence
- UVA 11404 Palindromic Subsequence
- UVa 11404 Palindromic Subsequence
- UVA 11584 - Partitioning by Palindromes 区间DP 刘汝佳的动归练习
- UVA 1424 - Salesmen 刘汝佳的动归练习 ★★★
- UVA 11404 - Palindromic Subsequence LCS
- UVA 11404 - Palindromic Subsequence(dp)
- uva 11404 - Palindromic Subsequence(dp)
- Palindromic Subsequence - UVa 11404 dp
- UVA - 11404 Palindromic Subsequence LCS
- UVA 11404Palindromic Subsequence 【LCS】
- UVA 11404 Palindromic Subsequence LCS
- HDU【1026】Ignatius and the Princess I
- Play FrameWork后台使用异步操作
- 看到一篇 陈皓 谈分工的文章感觉很不错与大家分享
- [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
- Ubuntu资源更新地址
- UVA 11404 Palindromic Subsequence 刘汝佳的动归练习
- Kosaraju算法 有向图的强连通分量
- c++的坑--字符串内存拷贝注意事项
- 通过 adb命令发送广播
- sha1工具类
- HDU1015Safecracker
- .net4.0 DLL的Temporar ASP.NET Files缓存影响的大BUG
- 一次非常有意思的SQL优化经历
- 是否全屏