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 ...
随机推荐
- 夺命雷公狗---Thinkphp----16之首页的完成及全站的完成
刚才我们首页只是完成了一部分的数据,那么这里我们就来将他所以的完成: IndexController.class.php控制器代码如下所示: <?php namespace Home\Contr ...
- linux系统的时间调整
以centos为例,其它系统应该是一样或者类似的. 需要用到两个命令: date 和 hwclock 其中 date 命令由 coreutils 这个包提供, hwclock 命令由 util-lin ...
- 让未激活的win8.1不再跳出提示激活的窗口
以管理员运行命令行: 输入以下命令: slmgr.vbs -upk
- [置顶] 1D1D动规优化初步
例题一: 货物运输,大意: 给出N个点的坐标与需要你送过去的钱数(第一个点不需要钱),身上带钱的数目有最大值,由初始在的1点,按顺序经历每个点(中途可以回1点,回去钱就满了),问最小走的路程是多少(最 ...
- Java常用快捷键
Ctrl+M 最大化当前的Edit或View (再按则反之) Crl+k:查找下一处 Ctrl+Shift+O 导包 Ctrl+W 关闭当前EditerCtrl+shift+W 关闭所有当前页 Ctr ...
- laravel5.1启动详解
laravel的启动过程 如果没有使用过类似Yii之类的框架,直接去看laravel,会有点一脸迷糊的感觉,起码我是这样的.laravel的启动过程,也是laravel的核心,对这个过程有一个了解,有 ...
- Apache服务器访问过慢分析及解决
起因:线上的一台服务器,最近总是出现 访问 很慢的情况发生,点击一个链接要2秒钟以上才能打开,按照我们对于访问人数的估计,服务器应该不至于响应这么慢,从而需要针对这个问题进行分析,来解决网站访问过慢. ...
- 使用Jconsole监控weblogic的配置方法
在项目中发现full gc非常频繁.达到了每分钟13次.我怀疑可能会有内存泄露.于是在晚上找了内存泄露的资料. 内存长期占用并导致系统不稳定一般有两种可能: 1. 对象被大量创建而且被缓存,在旧的对象 ...
- FTPS加密上传
公司要求ftp接口不能以明文方式传输,所以adc系统将增加ftps方式 但是在网找了很多方式都无法实现用了方法一 FtpWebRequest request = (FtpWebRequest)WebR ...
- VC中常用的宏
我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译.工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结.有些宏是C/C++定义的,有些宏是VC环境预 ...