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 ...
随机推荐
- Codeforces Round #343 (Div. 2) C. Famil Door and Brackets
题目链接: http://codeforces.com/contest/629/problem/C 题意: 长度为n的括号,已经知道的部分的长度为m,现在其前面和后面补充‘(',或')',使得其长度为 ...
- 【BZOJ】【3275】Numbers
网络流/最小割 Orz了Jiry_2神犇,蒟蒻网络流建模什么的完全不会啊T_T 按奇偶性来分组实在太巧妙了……然后相关的点之间连边表示只能选其一,来求最小割…… /****************** ...
- 【BZOJ】【1013】【JSOI2008】球形空间产生器sphere
高斯消元 高斯消元模板题 /************************************************************** Problem: 1013 User: Tun ...
- git如何ignore
今天新建了一个项目传到git上,但是每次编译都会有一些无用的文件生成,于是就编写了ignore.但是发现无用.因为你的文件已经上传到服务器了,再编写ignore就无用了,ignore的适用是文件没上传 ...
- poj 3070 Fibonacci(矩阵快速幂,简单)
题目 还是一道基础的矩阵快速幂. 具体的居者的幂公式我就不明示了. #include<stdio.h> #include<string.h> #include<algor ...
- HDU 1598 find the most comfortable road(枚举+并查集,类似于最小生成树)
一开始想到用BFS,写了之后,发现有点不太行.网上查了一下别人的解法. 首先将边从小到大排序,然后从最小边开始枚举,每次取比它大的边,直到start.end属于同一个集合,即可以连通时停止.过程类似于 ...
- mac上eclipse上配置hadoop
在mac上安装了eclipse之后,配置hadoop其实跟在linux上配置差不多,只是mac上得eclipse和界面和linux上得有点不同. 一:安装eclipse eclipse得安装比较简单, ...
- java集合--java.util.ConcurrentModificationException异常
ConcurrentModificationException 异常:并发修改异常,当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常.一个线程对collection集合迭代,另一个线程对Co ...
- utmp, wtmp, and lastlog 日志清除工具
utmp, wtmp, and lastlog 日志清除工具 http://blog.itpub.net/83980/viewspace-801664/
- **【ci框架】PHP的CI框架集成Smarty的最佳方式
因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://cod ...