只有小写字母 那>=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)的更多相关文章

  1. MemSQL start[c]up Round 2 - online version C. More Reclamation(博弈)

    题目大意 额,写来写去,我还是直接说抽象之后的题目大意吧: 有一个 r*2 的矩形,两个人轮流的在矩形上面减去一个 1*1 的小正方形,要求在减的过程中,不能使矩形“断开”,也就是说,如果一个人减去了 ...

  2. Saving James Bond - Easy Version (MOOC)

    06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...

  3. codeforces MemSQL start[c]up Round 2 - online version B 最长公共子系列

    题目链接:  http://codeforces.com/contest/335/problem/B 分析: 第一眼看上去串的长度为5*10^4, 冒似只能用O(n)的算法可解. 而这样的算法从来没见 ...

  4. Codeforces Global Round 7 D1. Prefix-Suffix Palindrome (Easy version)(字符串)

    题意: 取一字符串不相交的前缀和后缀(可为空)构成最长回文串. 思路: 先从两边取对称的前后缀,之后再取余下字符串较长的回文前缀或后缀. #include <bits/stdc++.h> ...

  5. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  6. Ping-Pong (Easy Version)(DFS)

    B. Ping-Pong (Easy Version) time limit per test 2 seconds memory limit per test 256 megabytes input ...

  7. Codeforces 1077F1 Pictures with Kittens (easy version)(DP)

    题目链接:Pictures with Kittens (easy version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:$dp[i][j ...

  8. Codeforces Global Round 1 - D. Jongmah(动态规划)

    Problem   Codeforces Global Round 1 - D. Jongmah Time Limit: 3000 mSec Problem Description Input Out ...

  9. hdu4908 &amp; BestCoder Round #3 BestCoder Sequence(组合数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908 BestCoder Sequence Time Limit: 2000/1000 MS (Jav ...

随机推荐

  1. CentOS6.5安装tomcat7

    把下载的apache-tomcat-7.0.19.tar.gz文件上传到服务器的根目录    #tar zxvf apache-tomcat-7.0.19.tar.gz    #mv apache-t ...

  2. aspnet_regiis.exe 的用法

    使用aspnet_regiis.exe注册.NET Framework 重新安装IIS以后,需要用aspnet_regiis.exe来注册.NET Framework, 如下: C:\WINDOWS\ ...

  3. sublime package

    Sublime text 2/3 中 Package Control 的安装与使用方法 2014/05/23前端工具, 工具, 教程, 软件4条评论 Package Control 插件是一个方便 S ...

  4. iOS Core data多线程并发访问的问题

    大家都知道Core data本身并不是一个并发安全的架构:不过针对多线程访问带来的问题,Apple给出了很多指导:同时很多第三方的开发者也贡献了很多解决方法.不过最近碰到的一个问题很奇怪,觉得有一定的 ...

  5. oracle将两个结果连接后进行查询,得到两个查询的联合结果

    一.需求 用户答题,共3道,必须3题都答完才能提交. 目的:要查询用户答对了几题,答错了几题.(当然此处可以只查答对的题目数,用3减即得答错题的题目数) 二.sql select * ) rightC ...

  6. BT5之Metasploit[MSF]连接postgresql数据库

    1,先查看postgresql的端口,默认是自动开启的,端口7337 .   root@bt:~# netstat -tnpl |grep postgres tcp        0      0 1 ...

  7. 01-04-01【Nhibernate (版本3.3.1.4000) 出入江湖】原生的SQL查询

    Nhibernate 支持原生的SQL查询 : /// <summary> /// 使用原生的SQL查询 /// </summary> /// <param name=& ...

  8. jQuery1.9.1源码分析--Ajax模块

    //Serialize an array of form elements or a set of //key/values into a query string // 将数组形式的表单元素或者哈希 ...

  9. SPOJ LGLOVE 7488 LCM GCD Love (区间更新,预处理出LCM(1,2,...,n))

    题目连接:http://www.spoj.com/problems/LGLOVE/ 题意:给出n个初始序列a[1],a[2],...,a[n],b[i]表示LCM(1,2,3,...,a[i]),即1 ...

  10. POJ 2255 Tree Recovery(根据前序遍历和中序遍历,输出后序遍历)

    题意:给出一颗二叉树的前序遍历和中序遍历的序列,让你输出后序遍历的序列. 思路:见代码,采用递归. #include <iostream> #include <stdio.h> ...