传送门
直接把所有串拼起来跑后缀数组即可。
代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<cstdlib>
#include<algorithm>
#define ri register int
using namespace std;
const int N=1e6+5;
int rk[N],sa[N],sa2[N],ht[N],n,m,len[N],tt,tot[N],st[N][18],Log[N],idx[N];
char s[N],t[N];
vector<int>ans;
inline void Sort(){static int cnt[N];for(ri i=1;i<=m;++i)cnt[i]=0;for(ri i=1;i<=n;++i)++cnt[rk[i]];for(ri i=2;i<=m;++i)cnt[i]+=cnt[i-1];for(ri i=n;i;--i)sa[cnt[rk[sa2[i]]]--]=sa2[i];
}
inline void getsa(){for(ri i=1;i<=n;++i)rk[i]=(int)s[i],sa2[i]=i;m=150,Sort();for(ri w=1,p=0;m^n;w<<=1,p=0){for(ri i=n-w+1;i<=n;++i)sa2[++p]=i;for(ri i=1;i<=n;++i)if(sa[i]>w)sa2[++p]=sa[i]-w;Sort(),swap(sa2,rk),rk[sa[1]]=p=1;for(ri i=2;i<=n;++i)rk[sa[i]]=(sa2[sa[i]]==sa2[sa[i-1]]&&sa2[sa[i]+w]==sa2[sa[i-1]+w])?p:++p;m=p;}for(ri i=1,j,k=0;i<=n;ht[rk[i++]]=k)for(k?--k:k,j=sa[rk[i]-1];s[i+k]==s[j+k];++k);for(ri i=1;i<=n;++i)st[i][0]=ht[i];for(ri j=1;j<=17;++j)for(ri i=1;i+(1<<j)<=n;++i)st[i][j]=min(st[i][j-1],st[i+(1<<(j-1))][j-1]);
}
inline int rmq(int l,int r){return min(st[l][Log[r-l+1]],st[r-(1<<Log[r-l+1])+1][Log[r-l+1]]);}
inline bool check(int a,int b,int len){a=rk[a],b=rk[b];if(a>b)a^=b,b^=a,a^=b;return rmq(a+1,b)<len;
}
inline void solve(){ri sig=0,mxlen=0,lim=tt,l=tt,r=tt-1;ans.clear();for(int i=1;i<=tt;++i)tot[i]=0;for(;;++l){while(sig<lim&&r<len[tt]){++r,++tot[idx[sa[r]]];if(tot[idx[sa[r]]]==1)++sig;}if(sig^lim)break;while(sig==lim){--tot[idx[sa[l]]];if(!tot[idx[sa[l]]]){ri tmp=rmq(l+1,r);mxlen=max(mxlen,tmp);--sig;break;}++l;}}cout<<mxlen;
}
int main(){freopen("lx.in","r",stdin);Log[0]=-1;for(ri i=1;i<=1000000;++i)Log[i]=Log[i>>1]+1;while(~scanf("%s",t)){++tt;len[tt]=strlen(t),s[++n]=(char)tt;for(ri j=0;j<len[tt];++j)s[++n]=t[j];++len[tt],len[tt]+=len[tt-1];}for(ri i=1;i<=tt;++i)for(ri j=len[i-1]+1;j<=len[i];++j)idx[j]=i;getsa();solve();return 0;
}

CSP-S 训练 诚哥的逆袭6(后缀数组)相关推荐

  1. 诚哥的逆袭2 sdoj

    **你成功的解决了诚哥找妹子的问题,现在人渣诚想报答你,于是把你带到了他的后宫里,你惊奇的发现这些妹子的排布与树有关,现在人渣诚给了你一些规则让你选择: 1.现在有Ñ个点,人渣诚想要构成有n-1个条边 ...

  2. 1年时间从12K到30K,一位外卖小哥的真实逆袭历程!

    人生是变化莫测的. 从退伍军人到外卖小哥,再从外卖小哥到IT精英,短短1年,薪资从12K暴涨30K,他用实际行动改变了自己的人生. 转行前,他曾参过军.退伍后,由于没有学历,文化程度也不高,面试了很多 ...

  3. 单身情人节,看看这位Python小哥如何完成人生的逆袭!

    出品 | CDA数据分析师 今天是2020年的第一个情人节,给单身的Python工程师和程序员们介绍一个男人的故事,一个程序员小哥的人生逆袭之旅,希望可以给单身的您,带来一些脱单的秘诀或启发. 他就是 ...

  4. 17岁中专毕业的低学历小哥,24岁却作为资深程序员逆袭出书!

    17岁中专毕业的刘博文,成为了低学历程序员逆袭的最佳范本. 作为一个在2012年还只有中专文凭的"半吊子"程序员,却在短短几年间做到了360奇舞团的一员,2019年甚至以资深人士的 ...

  5. 究竟是什么挡住了普通人的逆袭道路

    究竟是什么挡住了普通人的逆袭道路? 上月,阶层固化话题爆发. 连锁效应.直接导致了近期打破阶层的话题爆发.但看了很多励志文章,最让我觉得接近现实的,只有雾满拦江老师的一段话: 如果你渴望改变命运,冲破 ...

  6. 女软件工程师的逆袭之路 [问题点数:40分]

    转贴:http://bbs.csdn.net/topics/390607417 这篇文章比较长,欢迎大家收藏.转发.分享.分时段看完,也可以关注QQ空间21774917,谢谢. 2013年的8月12日 ...

  7. 女软件工程师的逆袭之路

    2013年的8月12日,我从H公司正式辞职了,上交完工卡,我就明白,我跟通讯行业永远的说了再见. 镜头倒回到2006年11月10日,作为计算机专业毕业的硕士,我正在经历每一个毕业生找工作的痛苦涅槃过程 ...

  8. python程序员现状_天才Python程序员身价上亿却被说挫,6个月减90斤,逆袭成文艺范男神!...

    image 你对程序猿的印象是怎么样? 你所知道的程序员,是一种自嘲为码农的猿类 学习Python中有不明白推荐加入交流群 号:864573496 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频 ...

  9. 这个逆袭的新同事,也太牛逼了

    公司新来了个同事,级别比我高一级,技术一流,来了之后把现有项目的性能优化了一遍,给公司省了不少成本. 后来才知道,他竟然是个「把烂牌打出王炸」的存在.他叫老徐,我希望通过他的故事,帮你找到些可复制的方 ...

最新文章

  1. Tomcat无法访问中文路径的解决办法
  2. javascript核心_javascript核心之DOM操作
  3. docker与jenkins学习
  4. 在知乎上泡了这么久,工作、工资、生活还是没有起色是什么原因?
  5. jdk Queue抽象接口
  6. java类分析_java常用类系列之System
  7. 3D重建模的初步了解
  8. 如何判断真假“中台”?
  9. Java分布式二手房项目尚好房第二课 用户角色管理
  10. SpringBoot整合腾讯云短信服务实现发送短信功能(一篇就够了)
  11. PHP 图片上文字排版,文字输出至图片的排版有关问题
  12. Vs code PIO一直loading
  13. HDOJ 2492 Ping pong 线段树+离散化
  14. 升级 MacOS 到最新版本 macOS Ventura 13.0 后,Parallels Desktop 不可用
  15. css代码文字破碎js特效
  16. 分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月18日-6月24日)
  17. 基于RK3568商显版开源鸿蒙板卡产品解决方案
  18. 设置Vmware虚拟机自动调整窗口大小、自动调整分辨率/界面大小
  19. 【Windows】win10或win11的资源管理器 文件夹中存在今天、昨天、本周更早时候之类的分割线分组依据如何怎么去除去掉?
  20. 司普沃浅谈辣椒炭疽病防治技术与管理

热门文章

  1. 未来互联网的发展趋势
  2. 秦嘉哲:11.10黄金原油震荡走高最新行情趋势分析及今日操作建议布局
  3. 智慧物流车联网生态远程管理终端设备助力百万中小企业风控管理
  4. 解决:史上最难python难题,python 与 exe 交互问题造成程序阻塞
  5. 南京邮电大学计算机科学重点培养,2020南京邮电大学专业排名(重点专业+双一流学科)...
  6. python set 嵌套_带有路径的嵌套dict中的Python setitem
  7. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机
  8. 计算机左边桌面选项没了,我的电脑里的左侧工具栏不见了怎么办?
  9. C. Interesting Story
  10. 构建HTTPS安全网站