CF335B
/*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的更多相关文章
随机推荐
- Android中TextView和EditView经常使用属性设置
Android开发中最经常使用的几乎相同就是TextView和EditView了,在使用它时.我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理.这里记下它的经常使用属性,方便后期查阅. ...
- 【matlab】MTATLAB解线性方程组
在求解线性方程组时,会遇到以下几种情形:定解方程组.不定方程组.超定方程组.奇异方程组. 首先以定解线性方程组为例: format rat 化成分数 format short >> A= ...
- SourceTree --转载 SourceTree大文件上传提示POST git-receive-pack (chunked)相关问题记录
前两天,更新了百度地图的SDK,更新完了通过SourceTree上传到Github 结果提示 :POST git-receive-pack (chunked), 在网上查询之后了解到这个提示的原因是因 ...
- 五月的仓颉大神写的 三年java程序员面试感悟 值得分享给大家
感谢 五月的仓颉 的这篇文章 , 让我重新认识到自己身上的不足之处 . 原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处,谢谢! 前 ...
- Mininet加强版——DOT(分布式OpenFlow试验平台)
前言 之前在做SDN实验的时候,需要用到包含2000+个交换机的fattree拓扑,当时用的是mininet,生成整个拓扑需要十五六个小时,最终在异常艰苦的环境下做完了实验,之后听说了有DOT(Dis ...
- 1.1_php基础语法
一,变量与常量: 二,php中的运算符(字符串拼接): 三,php数组. <!DOCTYPE html> <html> <head> <meta charse ...
- 【BZOJ4641】基因改造 KMP
[BZOJ4641]基因改造 Description "人类智慧的冰峰,只有萌萌哒的我寂寞地守望." --TB TB正走在改造人类智慧基因的路上.TB发现人类智慧基因一点也不萌萌哒 ...
- sqlalchemy笔记
http://jzqt.github.io/2015/12/29/SQLAlchemy%E7%AC%94%E8%AE%B0/ 用SQLAlchemy做ORM也有一段时间了,总结一下用过的一些地方. 连 ...
- 常用的SQLalchemy 字段类型
https://blog.csdn.net/weixin_41896508/article/details/80772238 常用的SQLAlchemy字段类型 类型名 python中类型 说明 In ...
- IIS 部署WCF时遇到这么个错:
转(http://blog.csdn.net/vic0228/article/details/48806405) 部署WCF时遇到这么个错: "The service cannot be a ...