提交记录 17652
| 提交时间 |
评测时间 |
| 2022-04-13 10:55:34 |
2022-04-13 10:55:39 |
#include<bits/stdc++.h>
using namespace std;
const int N=2e6+5;
char S[N];
int n,m,num,id[N],sa[N],cnt[N],h[N],rk[N];
void suffix_sort() {
m=300;
for(int i=1;i<=n;++i)++cnt[rk[i]=S[i]];
for(int i=1;i<=m;++i)cnt[i]+=cnt[i-1];
for(int i=n;i>=1;--i)sa[cnt[rk[i]]--]=i;
for(int w=1;w<n;w<<=1) {
num = 0;
for(int i = n - w + 1; i <= n; i++) id[++num] = i;
for(int i = 1; i <= n; i++) if(sa[i] > w) id[++num] = sa[i] - w;
for(int i = 1; i <= m; i++) cnt[i] = 0;
for(int i = 1; i <= n; i++) ++cnt[rk[i]];
for(int i = 1; i <= m; i++) cnt[i] += cnt[i - 1];
for(int i = n; i >= 1; i--) sa[cnt[rk[id[i]]]--] = id[i], id[i] = 0;
swap(id, rk), rk[sa[1]] = num = 1;
for(int i = 2; i <= n; i++)
rk[sa[i]] = (id[sa[i]] == id[sa[i - 1]] && id[sa[i] + w] == id[sa[i - 1] + w])? num : ++num;
m=num;
}
for(int i=1,j=0;i<=n;++i) {
if(j)--j;
while(S[i+j]==S[sa[rk[i]-1]+j])++j;
h[rk[i]]=j;
}
}
int main() {
scanf("%s",S+1);n=strlen(S+1);
suffix_sort();
for(int i=1;i<=n;++i)printf("%d ",sa[i]);puts("");
for(int i=2;i<=n;++i)printf("%d ",h[i]);
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Subtask #1 Testcase #1 | 36.34 us | 56 KB | Wrong Answer | Score: -100 | 显示更多 |
| Subtask #1 Testcase #2 | 3.097 ms | 15 MB + 316 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #3 | 3.096 ms | 15 MB + 316 KB | Accepted | Score: 100 | 显示更多 |
| Subtask #1 Testcase #4 | 7.5 ms | 15 MB + 316 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #5 | 7.508 ms | 15 MB + 316 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #6 | 8.973 ms | 15 MB + 316 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #7 | 73.728 ms | 17 MB + 312 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #8 | 74.053 ms | 17 MB + 500 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #9 | 73.47 ms | 17 MB + 364 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #10 | 54.279 ms | 16 MB + 648 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #11 | 54 ms | 16 MB + 688 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #12 | 63.978 ms | 17 MB + 556 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #13 | 64.099 ms | 17 MB + 660 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #14 | 72.406 ms | 17 MB + 392 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #15 | 71.972 ms | 17 MB + 408 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #16 | 62.619 ms | 17 MB + 556 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #17 | 62.337 ms | 17 MB + 556 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #18 | 62.528 ms | 17 MB + 556 KB | Accepted | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-03-17 05:15:18 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠