MemSQL start[c]up Round 2 - online version(DP)
只有小写字母 那>=2600的直接找单字母串长度大于等于100的就可以了
<2600 的dp找最长回文串

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
#define N 50010
char s[N];
char pa[];
int dp[][][],g,n,o[];
void dfs(int ss,int i,int j,int k)
{
if(ss==)
return ;
if(i==j)
{
pa[g++] = s[i];
return ;
}
if(i!=n-&&j&&s[i]==s[j]&&dp[i][j][k]==dp[i+][j-][k]+)
{ pa[g++] = s[i];
dfs(dp[i+][j-][k],i+,j-,k);
return ;
}
if(i!=n-&&dp[i][j][k]==dp[i+][j][k])
{
dfs(dp[i+][j][k],i+,j,k);
return ;
}
if(j&&dp[i][j][k]==dp[i][j-][k])
{
dfs(dp[i][j-][k],i,j-,k);
return ;
}
}
int main()
{
int i,j,d;
cin>>s;
int k = strlen(s);
n = k;
if(k>=)
{
for(i = ; i < k ; i++)
o[s[i]-'a']++;
for(i = ; i < ; i++)
if(o[i]>=)
{
d = i;
break;
}
for(i = ; i <= ; i++)
printf("%c",d+'a');
puts("");
}
else
{
for(i = ; i < k ; i++)
{
dp[i][i][] = ;
}
for(i = k- ; i >= ;i--)
for(j = i+ ; j < k ; j++)
{
if(s[i]==s[j])
{
dp[i][j][] = dp[i+][j-][]+;
dp[i][j][] = dp[i+][j-][]+;
}
dp[i][j][] = max(dp[i][j][],max(dp[i+][j][],dp[i][j-][])); dp[i][j][] = max(dp[i][j][],max(dp[i+][j][],dp[i][j-][]));
}
}
if(dp[][k-][]>=)
{
dfs(dp[][k-][],,k-,);
for(i = ; i < ; i++)
printf("%c",pa[i]);
for(i = - ; i >= ; i--)
printf("%c",pa[i]);
puts("");
}
else
{
dfs(dp[][k-][],,k-,);
for(i = ; i < g ; i++)
printf("%c",pa[i]);
if(dp[][k-][]%!=)
g--;
for(i = g- ; i >= ; i--)
printf("%c",pa[i]);
puts("");
}
return ;
}
MemSQL start[c]up Round 2 - online version(DP)的更多相关文章
- MemSQL start[c]up Round 2 - online version C. More Reclamation(博弈)
题目大意 额,写来写去,我还是直接说抽象之后的题目大意吧: 有一个 r*2 的矩形,两个人轮流的在矩形上面减去一个 1*1 的小正方形,要求在减的过程中,不能使矩形“断开”,也就是说,如果一个人减去了 ...
- Saving James Bond - Easy Version (MOOC)
06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...
- codeforces MemSQL start[c]up Round 2 - online version B 最长公共子系列
题目链接: http://codeforces.com/contest/335/problem/B 分析: 第一眼看上去串的长度为5*10^4, 冒似只能用O(n)的算法可解. 而这样的算法从来没见 ...
- Codeforces Global Round 7 D1. Prefix-Suffix Palindrome (Easy version)(字符串)
题意: 取一字符串不相交的前缀和后缀(可为空)构成最长回文串. 思路: 先从两边取对称的前后缀,之后再取余下字符串较长的回文前缀或后缀. #include <bits/stdc++.h> ...
- Codeforces Beta Round #13 C. Sequence (DP)
题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...
- Ping-Pong (Easy Version)(DFS)
B. Ping-Pong (Easy Version) time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Codeforces 1077F1 Pictures with Kittens (easy version)(DP)
题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:$dp[i][j ...
- Codeforces Global Round 1 - D. Jongmah(动态规划)
Problem Codeforces Global Round 1 - D. Jongmah Time Limit: 3000 mSec Problem Description Input Out ...
- hdu4908 & BestCoder Round #3 BestCoder Sequence(组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908 BestCoder Sequence Time Limit: 2000/1000 MS (Jav ...
随机推荐
- 自选项目--手机锁屏软件--NABC分析
N(Need 需求) 关键字:利用碎片时间加强对想记的事物的记忆.备忘.一般来说,锁屏目的大致有三点: 1.保护手机隐私 2.防止误操作手机 3.在不关闭系统软件的情况下节省电量 对于市面上已有的锁屏 ...
- spicy及remote-viewer登录方法
spicy登录: $sudo spicy remote-viewer登录: $ sudo /usr/local/bin/remote-viewer $ spice://192.168.70.158:4 ...
- [原创] zabbix学习之旅七:如何远程操作被监控机器
虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让z ...
- kali linux安装vm
https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-10.0.2-1744117.i386.bundle v ...
- 3223: Tyvj 1729 文艺平衡树 - BZOJ
Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 ...
- request 路径随笔
1. 路劲可分为 绝对路径 和 相对路径 2. 绝对路径 (开头带"/") 前端: http://localhost:8080/myWebApp/user/login.jsp /m ...
- HDU 5637 Transform 单源最短路
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5637 题意: http://bestcoder.hdu.edu.cn/contests/contes ...
- BZOJ 1143: [CTSC2008]祭祀river 最大独立集
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1143 题解: 给你一个DAG,求最大的顶点集,使得任意两个顶点之间不可达. 把每个顶点v ...
- C#中两个日期类型相减得到天数
protected int GetDuration(DateTime start, DateTime finish) { return (finish - start).Days; } 直接相减得到的 ...
- tomcat 解析(四)-处理http请求过程
声明:源码版本为Tomcat 6.0.35 前面的文章中介绍了Tomcat初始化的过程,本文将会介绍Tomcat对HTTP请求的处理的整体流程,更细节的. 在上一篇文章中,介绍到JIoEndpoint ...