/*CF335B
这个题目的n达到50000,但是串只是有小写字母组成,所以如果字符串的长度大于2600,那么
肯定存在,所开始输入就判断如果长度大于2600,那么直接找当个字母输出100个
否则执行LCS模块,然后判断所得最长公共是否大于100,如果小于100,那么直接输出最长公共
否则从两头分别取50个输出*/
#include<stdio.h>
#include<string.h>
int dp[][],dir[][];
char a[],b[],c[];
void LCS(int n,int m)
{
int i,j;
memset(dp,,sizeof(dp));
memset(dir,,sizeof(dir));
for(i=;i<=n;i++)
for(j=;j<=m;j++)
{
if(a[i-]==b[j-])
{
dp[i][j]=dp[i-][j-]+;
dir[i][j]=;
}
else if(dp[i-][j]>dp[i][j-])
{
dp[i][j]=dp[i-][j];
dir[i][j]=;
}
else
{
dp[i][j]=dp[i][j-];
dir[i][j]=;
}
}
}
int cont=;
void print(int n,int m)
{
if(n== || m==) return;
if(dir[n][m]==)
{
print(n-,m-);
c[cont++]=a[n-];
}
else if(dir[n][m]==) print(n-,m);
else print(n,m-);
}
int main()
{
int j,n;
int hash[],flag=,i=;
char s;
memset(hash,,sizeof(hash));
gets(a);
n=strlen(a);
for(i=;i<n;i++)
{
hash[a[i]]++;
}
for(i=;i<;i++)
{
if(hash['a'+i]>=) { s='a'+i; flag=; break;}
}
if(flag)
{
for(i=;i<=;i++)
printf("%c",s);
printf("\n");
}
else
{
for(i=,j=n-;i<n;i++,j--)
b[j]=a[i];
cont=;
memset(c,,sizeof(c));
LCS(n,n);
print(n,n);
int num=strlen(c);
//printf("%d\n",num);
char m1[],m2[];
if(num<=) printf("%s\n",c);
else
{
memset(m1,,sizeof(m1));
memset(m2,,sizeof(m2));
for(i=;i<;i++)
m1[i]=c[i];
for(i=num-,j=;i>=num-;i--,j--)
m2[j]=c[i];
//int num1=strlen(m1);
//int num2=strlen(m2);
printf("%s%s\n",m1,m2);
} }
return ;
}

CF335B的更多相关文章

随机推荐

  1. 嵌入式驱动开发之dsp 算法优化vlib emcv---算法优化

    http://www.opencv.org.cn/forum.php?mod=forumdisplay&fid=9

  2. 【 D3.js 入门系列 --- 9.4 】 集群图的制作

    本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 集群图( Cluster )通经常使用于表示包括与被包括关系. ...

  3. VC++ Debug内存值

    Memory Values If you're using the debug heap, memory is initialized and cleared with special values. ...

  4. Django 找不到模版报错" django.template.exceptions.TemplateDoesNotExist: index.html"

    解决办法:在setting.py的TEMPLATES‘DIRS'[]加入模版路径 os.path.join(BASE_DIR, 'templates') TEMPLATES = [ { 'BACKEN ...

  5. Yolo+Windows 配置(详细版)

    一.配置环境  VS2013+显卡GtX1080ti+CUDA7.5+Opencv3.1.0+pthread pthread:ftp://sourceware.org/pub/pthreads-win ...

  6. vue+node+mongoDB 火车票H5(三)---git提交时忽略不想提交的文件

    想要把项目通过git提交到GitHub上,但提交时并不想提交node_modules文件夹,这个文件夹太大 git 提交代码时不提交配置文件夹node_modules 在.gitignore文件中添加 ...

  7. tpot从elastic search拉攻击数据之一 找本地数据端口

    前面,我们已经在ubuntu服务器上部署好了tpot,并启动进行数据捕获 可以通过64297端口登陆到kibana可视化平台查看捕获到攻击的情况. 现在要拉取攻击数据了,但是该怎么拉呢? 看了一上午的 ...

  8. 《CNI specification》翻译

    Overview 本文提出了一个通用的基于插件的Linux容器网络解决方案,容器网络接口,CNI.它脱胎于旨在满足大多数rtk网络设计的rtk Networking Proposal. 首先,我们对如 ...

  9. 正向代理、Nginx(反向代理、负载均衡、静态资源服务器)

    淘宝tengine文档(本质就是淘宝版的Nginx) http://tengine.taobao.org/book/index.html

  10. mysql乱码修改character_set_server

    [mac] 1.使用任何一个客房端或者命令行查询一下编码,俺用的是MySQLWorkbench SHOW VARIABLES LIKE 'character_set_%'; 2.发现编码是charac ...