要点

  • 头尾的最长相同只要一个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;
}

最新文章

  1. Repository 仓储,你的归宿究竟在哪?(一)-仓储的概念
  2. css 伪元素分享!!!
  3. 百度地图 api
  4. centos 7.0 ssh 登陆
  5. HTTP Error 403没有了,但是中文全都是乱码。又是怎么回事?
  6. iOS cocospods Updating local specs repositories
  7. JS结合DOM事件的例子
  8. Java基础-面板组件
  9. C++面试题:list和vector有什么区别?
  10. 使用.htaccess进行浏览器图片文件缓存
  11. 【ajax】reqwest
  12. Cplus
  13. HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题
  14. Javascript学习8 - 脚本化文档(Document对象)
  15. okhttp +fastJson 在UI层的回调封装
  16. 第二周C++学习总结
  17. 前端之旅HTML与CSS篇之IE6常见BUG
  18. scrapy模拟登录微博
  19. springMVC 中的restful 架构风格
  20. Docker概述

热门文章

  1. RQNOJ 671 纯洁的买卖:无限背包
  2. css:before和after中的content属性
  3. BZOJ-4819: 新生舞会(01分数规划+费用流)
  4. 远程调用appium server
  5. 1135 Is It A Red-Black Tree(30 分)
  6. ACM学习历程—BestCoder 2015百度之星资格赛1006 单调区间(组合数学)
  7. uC/OS-II源码分析(一)
  8. JSOI2008星球大战——联通块数量
  9. SpringMVC之七:SpringMVC中使用Interceptor拦截器
  10. deleteMany is not a function