UVA 11404 五 Palindromic Subsequence
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std; struct Node
{
int len;
string str;
}dp[][]; int main()
{
int l;
char str1[],str2[];
int i,j,k;
while(scanf("%s",str1+)!=EOF)
{
l=strlen(str1+);
for(i=;i<=l;i++)
str2[i]=str1[l-i+]; for(i=;i<=l;i++)
dp[][i].len=,dp[i][].len=,dp[][i].str="",dp[i][].str=""; for(i=;i<=l;i++)
{
for(j=;j<=l;j++)
{
if(str1[i]==str2[j])
{
dp[i][j].len=dp[i-][j-].len+;
dp[i][j].str=dp[i-][j-].str+str1[i];
}
else
{
if(dp[i][j-].len>dp[i-][j].len)
{
dp[i][j].len=dp[i][j-].len;
dp[i][j].str=dp[i][j-].str;
}
else if(dp[i-][j].len>dp[i][j-].len)
{
dp[i][j].len=dp[i-][j].len;
dp[i][j].str=dp[i-][j].str;
}
else
{
dp[i][j].len=dp[i-][j].len;
dp[i][j].str=min(dp[i-][j].str,dp[i][j-].str);
}
}
}
} int n=dp[l][l].len;
string ans=dp[l][l].str; if(n%==)
{
for(i=;i<n/;i++)
{
printf("%c",ans[i]);
}
for(i=n/-;i>=;i--)
{
printf("%c",ans[i]);
}
}
else
{
for(i=;i<n/;i++)
{
printf("%c",ans[i]);
}
for(i=n/;i>=;i--)
{
printf("%c",ans[i]);
}
}
printf("\n");
}
return ;
}
UVA 11404 五 Palindromic Subsequence的更多相关文章
- 【UVA 11404】Palindromic Subsequence
UVA 11404 我用了最暴力的做法:考虑\(dp[i][j]\)表示\(S[i..j]\)的最长回文子序列的长度以及字典序最小的那个. 然后转移的时候如下处理:首先\(dp[i][j]\)要取\( ...
- UVA 11404 Palindromic Subsequence[DP LCS 打印]
UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...
- LPS UVA 11404 Palindromic Subsequence
题目传送门 题意:求LPS (Longest Palidromic Subsequence) 最长回文子序列.和回文串不同,子序列是可以不连续的. 分析:1. 推荐->还有一种写法是用了LCS的 ...
- UVA 11404 Palindromic Subsequence
Palindromic Subsequence Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA ...
- uva 11404 dp
UVA 11404 - Palindromic Subsequence 求给定字符串的最长回文子序列,长度一样的输出字典序最小的. 对于 [l, r] 区间的最长回文串.他可能是[l+1, r] 和[ ...
- 516. Longest Palindromic Subsequence最长的不连续回文串的长度
[抄题]: Given a string s, find the longest palindromic subsequence's length in s. You may assume that ...
- [leetcode-516-Longest Palindromic Subsequence]
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- [LeetCode] Longest Palindromic Subsequence 最长回文子序列
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- [Swift]LeetCode516. 最长回文子序列 | Longest Palindromic Subsequence
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
随机推荐
- RAID、软RAID和硬RAID
RAID(redundant array of inexpensive disks):独立的硬盘冗余阵列,基本思想是把多个小硬盘组合在一起成为一个磁盘组,通过软件或硬件的管理达到性能提升或容量增大或增 ...
- SQL UNION 操作符
转由http://www.w3school.com.cn/sql/sql_union.asp 这个网址的数据库知识,个人推荐,因为有实例,理解更透彻一些.非广告啊,个人感觉好啊 SQL UNION 操 ...
- UISlider控件属性及方法(转)
初始化一个Slider UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)]; 访问UI ...
- JAVA学习方法
我觉得要想学好的话,首先,你得会用,能玩的起来,然后才会慢慢激发你的兴趣,它为何这么用?就这样一步一步的去探索,不断地积累,总结.编程讲究的是思维,死记硬背是没有意义的,想学好编程就一个字:敲,俩字 ...
- linux之V4L2摄像头应用流程【转】
本文转载自:http://blog.csdn.net/tommy_wxie/article/details/11486907 对于v4l2,上次是在调试收音机驱动的时候用过,其他也就只是用i2c配置一 ...
- Hibernate解决n+1问题
观点:对于n+1问题的理解. 一般而言说n+1意思是,无论在一对多还是多对一当查询出n条数据之后,每条数据会关联的查询1次他的关联对象,这就叫做n+1. 但是我的理解是,本来所有信息可以一次性查询出来 ...
- 很好用的查看音频波形的软件cool edit pro
- 十步完全理解 SQL(转载)
英文出处:Lukas Eder. 很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言(尽管有些人认为 ...
- 20145227 《Java程序设计》第8周学习总结
20145227 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 NIO即New IO.java从JDK1.4开始提供了NIO,在JAVA SE 7 中又 ...
- [ios][swift]Swift类型之间转换
http://www.ruanman.net/swift/learn/4741.html