Codeforces 126B(kmp)
2024-09-04 02:14:01
要点
- 头尾的最长相同只要一个kmp即可得,于是处理中间部分
- 扫一遍记录一下前缀的每个位置是否存在一个中间串跟它相同,见代码
- 如果当前没有,接着用Next数组去一找即可
#include <cstdio>
#include <cstring>
const int maxn = 1e6 + 5;
char s[maxn];
int Next[maxn], Has[maxn], flag;
int main() {
scanf("%s", s + 1);
int n = strlen(s + 1);
for (int i = 2, j = 0; i <= n; i++) {//kmp
while (j && s[j + 1] != s[i]) j = Next[j];
if (s[j + 1] == s[i]) j++;
Next[i] = j;
if (i < n) Has[Next[i]] = 1;//不能是头和尾
}
for (flag = Next[n]; flag && !Has[flag]; flag = Next[flag]);//没有就接着找
if (flag) {
s[flag + 1] = 0;
printf("%s\n", s + 1);
} else {
printf("Just a legend\n");
}
return 0;
}
最新文章
- Repository 仓储,你的归宿究竟在哪?(一)-仓储的概念
- css 伪元素分享!!!
- 百度地图 api
- centos 7.0 ssh 登陆
- HTTP Error 403没有了,但是中文全都是乱码。又是怎么回事?
- iOS cocospods Updating local specs repositories
- JS结合DOM事件的例子
- Java基础-面板组件
- C++面试题:list和vector有什么区别?
- 使用.htaccess进行浏览器图片文件缓存
- 【ajax】reqwest
- Cplus
- HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题
- Javascript学习8 - 脚本化文档(Document对象)
- okhttp +fastJson 在UI层的回调封装
- 第二周C++学习总结
- 前端之旅HTML与CSS篇之IE6常见BUG
- scrapy模拟登录微博
- springMVC 中的restful 架构风格
- Docker概述
热门文章
- RQNOJ 671 纯洁的买卖:无限背包
- css:before和after中的content属性
- BZOJ-4819: 新生舞会(01分数规划+费用流)
- 远程调用appium server
- 1135 Is It A Red-Black Tree(30 分)
- ACM学习历程—BestCoder 2015百度之星资格赛1006 单调区间(组合数学)
- uC/OS-II源码分析(一)
- JSOI2008星球大战——联通块数量
- SpringMVC之七:SpringMVC中使用Interceptor拦截器
- deleteMany is not a function