字符串 - 近似回文词 --- csu 1328
近似回文词
Problem's Link:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328
analyse:
直接暴力枚举每一个终点,然后枚举回文串的半径即可.
Time complexity:O(n*m)
Source code:
// Memory Time
// 1347K 0MS
// by : Snarl_jsb
// 2014-10-03-14.25
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
#include<map>
#include<string>
#include<climits>
#include<cmath>
#define N 1000010
#define LL long long
using namespace std; int k,real[],sta,max_len,cas=;
char st[],ss[];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie();
// freopen("C:\\Users\\ASUS\\Desktop\\cin.cpp","r",stdin);
// freopen("C:\\Users\\ASUS\\Desktop\\cout.cpp","w",stdout);
while(~scanf("%d",&k))
{
getchar();
gets(st);
int len=;
max_len=;
int l1=strlen(st);
for(int i=;i<l1;++i)
{
if((st[i]>='a'&&st[i]<='z')||(st[i]>='A'&&st[i]<='Z'))
{
if(st[i]>='A'&&st[i]<='Z')
st[i]+=;
ss[len]=st[i];
real[len]=i;
len++;
}
}
for(int i=;i<len;++i)
{
int error=,j;
for(j=;i+j<len&&i-j>=;++j)
{
if(ss[i+j]!=ss[i-j])
error++;
if(error>k)
break;
}
j--;
if(real[i+j]-real[i-j]+>max_len)
{
max_len=real[i+j]-real[i-j]+;
sta=real[i-j];
}
error=;
for(j=;i+j<len&&i-j+>=;++j)
{
if(ss[i+j]!=ss[i-j+])
error++;
if(error>k)
break;
}
j--;
if(j<=) continue;
if(real[i+j]-real[i-j+]+>max_len)
{
max_len=real[i+j]-real[i-j+]+;
sta=real[i-j+];
}
}
printf("Case %d: %d %d\n",cas++,max_len,sta+);
}
return ;
}
字符串 - 近似回文词 --- csu 1328的更多相关文章
- CSU 1328 近似回文词【最长回文字符串(三种方法)】
输入一行文本,输出最长近似回文词连续子串.所谓近似回文词是指满足以下条件的字符串: 1. S以字母开头,字母结尾 2. a(S)和b(S)最多有2k个位置不同,其中a(S)是S删除所有非字母字符并且把 ...
- CSU 1328: 近似回文词
省赛的A题...现场都没什么人做...其实就一暴力水题......坑死了... 1328: 近似回文词 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1 ...
- csuoj 1328: 近似回文词
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 1328: 近似回文词 Time Limit: 1 Sec Memory Limit: 1 ...
- csu-1328 近似回文词 和 最长回文字符串
原博文地址:http://blog.csdn.net/u012773338/article/details/39857997 最长回文子串 描述:输入一个字符串,求出其中最长的回文子串.子串的含义是: ...
- CSU 1328 近似回文词(2013湖南省程序设计竞赛A题)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然 ...
- Vijos1327回文词【动态规划】
回文词 回文词是一种对称的字符串--也就是说,一个回文词,从左到右读和从右到左读得到的 结果是一样的.任意给定一个字符串,通过插入若干字符,都可以变成一个回文词.你的任务是写 一个程序,求出将给定字符 ...
- 回文词_KEY
回文词 (palin.pas/c/cpp) [问题描述] 回文词是一种对称的字符串--也就是说,一个回文词,从左到右读和从右到左读得的结果是一样的.任意给定一个字符串,通过插入若干字符,都可以变成一个 ...
- 经典DP模型--回文词--IOI2000
[问题描述]回文词是一种对称的字符串--也就是说, 一个回文词, 从左到右读和从右到左读得到的结果是一样的. 任意给定一个字符串, 通过插入若干字符, 都可以变成一个回文词. 你的任务是写一个程序, ...
- 回文词——线性dp
#include<iostream> #include<cstdio> using namespace std; int n,f[5002][5002]; char str1[ ...
随机推荐
- Windows 7下安装MongoDB
1.下载mongodb-win32-x86_64-2008plus-2.6.7-signed.msi(如今最新版本号已经到了3.0) 2.如果为64位操作系统则双击 mongodb-win32-x86 ...
- android studio 编译加速
1. http://www.52codes.net/article/658.html 2.http://my.oschina.net/sammy1990/blog/388846 3.http://st ...
- __declspec(dllimport)
我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法.当然,如果你的DLL里全是C++的类的话 ...
- IIS7 php wordpress 中文url 标签tag中文URL404解决方法
新建重写规则: <rule name="ChineseURL" stopProcessing="true"> <match url=" ...
- Android开源代码分享
一.AppMsg实现自定义Toast. github下载地址 二.CircleImageView实现带边框圆形头像. github下载地址 ...
- POJ 2785 4 Values whose Sum is 0
4 Values whose Sum is 0 Time Limit: 15000MS Memory Limit: 228000K Total Submissions: 13069 Accep ...
- SAP的运输功能(转)
SAP的运输功能(transportation) transportation大体有三个作用: 1.运输计划transportation planning 概念:对outbound delivery ...
- win10如何将此电脑显示在桌面
一.问题的提出 计算机系统彻底只能用win10的时候,习惯我的电脑显示在桌面上,可是系统并不默认这样 二.问题的解决 1.win10系统的桌面是没有“我的电脑”的图标,在桌面上点击右键,选择“个性化” ...
- VS2012未找到与约束ContractName...匹配的导出
用VS2012创建ARCGIS插件项目时,提示“未找到与约束ContractName...匹配的导出”,此前一直都是正常的额 经查,发现是近期系统相关更新导致,解决办法有两种途径: 一是删除近期更新的 ...
- android 隐藏标题栏的方法
1:单个activity里 onCreate() { super.onCreate(); requestWindowFeature(Window.FEATURE_NO_TITLE); setConte ...