后缀数组——bzoj 1031: [JSOI2007]字符加密Cipher
来源:互联网 发布:ubuntu16.04安装python 编辑:程序博客网 时间:2024/05/17 02:07
http://www.lydsy.com/JudgeOnline/problem.php?id=1031
额,直接后缀数组;
就是把原字符串两条拼起来;
然后跑后缀数组;
然后枚举sa[i]
如果sa[i]在一个串长度以内就输出;
因为sa[i]就是排序的东西嘛;
#include<bits/stdc++.h>#define rank fuck#define Ll long longusing namespace std;const int N=2e5+5;struct zz{int id,x,y;}a[N];int rank[N],sa[N],h[N];int n,m,x,y,z;char c[N];bool cmp(zz a,zz b){if(a.x!=b.x)return a.x<b.x;return a.y<b.y;}void make(){ for(int i=1;i<=n;i++)rank[i]=c[i]; for(int i=0;(1<<i)<=n;i++){ for(int j=1;j<=n;j++){ a[j].id=j; a[j].x=rank[j]; a[j].y=(j+(1<<i))<=n?rank[j+(1<<i)]:0; } sort(a+1,a+n+1,cmp); int num=0; for(int j=1;j<=n;j++){ num+=(a[j].x!=a[j-1].x||a[j].y!=a[j-1].y); rank[a[j].id]=num; } } for(int i=1;i<=n;i++)sa[rank[i]]=i; for(int i=1,k=0;i<=n;h[rank[i]]=k,i++) for(k?k--:k;c[i+k]==c[sa[rank[i]-1]+k];k++);}int main(){ scanf("%s",c+1); n=strlen(c+1); for(int i=1;i<=n;i++)c[i+n]=c[i]; n=n+n; make(); for(int i=1;i<=n;i++) if(sa[i]<=n/2)printf("%c",c[sa[i]+n/2-1]);}
阅读全文
1 0
- 后缀数组——bzoj 1031: [JSOI2007]字符加密Cipher
- 【BZOJ 1031】 [JSOI2007]字符加密Cipher 后缀数组sa数组
- 后缀数组 BZOJ 1031: [JSOI2007]字符加密Cipher
- BZOJ 1031 JSOI2007 字符加密Cipher 后缀数组
- 【后缀数组】【bzoj 1031】: [JSOI2007]字符加密Cipher
- BZOJ 1031 [JSOI2007]字符加密Cipher 后缀数组
- 【BZOJ 1031】 [JSOI2007]字符加密Cipher|后缀数组
- 【bzoj 1031】[JSOI2007] 字符加密Cipher(后缀数组)
- bzoj 1031: [JSOI2007]字符加密Cipher 后缀数组
- BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
- BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
- Bzoj 1031: [JSOI2007]字符加密Cipher(后缀数组)
- 后缀数组(bzoj 1031: [JSOI2007]字符加密Cipher)
- BZOJ 1031 [JSOI2007]字符加密Cipher 后缀数组
- BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
- JSOI2007——字符加密Cipher(后缀数组)
- 后缀数组——BZOJ1031 [JSOI2007]字符加密Cipher
- BZOJ 题目1031: [JSOI2007]字符加密Cipher(后缀数组sa简单应用)
- [bzoj2456]mode
- 表类的三大特性及其他们的功能
- 剑指offer:查找链表中倒数第k个结点
- POJ 1985 Cow Marathon 笔记
- I/O
- 后缀数组——bzoj 1031: [JSOI2007]字符加密Cipher
- Robot Framework: 自定义自己的python库
- linux C调试接口
- [bzoj2243][SDOI2011]染色
- 【轮廓线DP,状压DP】BZOJ1087 [SCOI2005]互不侵犯King
- WebRTC视频JitterBuff
- poj 2488 dfs
- POJ 1986 Distance Queries 笔记
- Android开发中那些让你相见恨晚的方法、类或接口