提交记录 31284
| 提交时间 |
评测时间 |
| 2026-08-14 01:17:29 |
2026-08-14 01:17:35 |
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main() {
char buf[100010];
if (!fgets(buf, sizeof(buf), stdin)) return 0;
string s(buf);
while (!s.empty() && (s.back()=='\n'||s.back()=='\r')) s.pop_back();
int n = s.size();
vector<int> sa(n), rnk(n), tmp(n);
for (int i=0;i<n;i++){sa[i]=i;rnk[i]=s[i];}
for (int k=1;k<n;k*=2){
auto cmp=[&](int x,int y){
if(rnk[x]!=rnk[y])return rnk[x]<rnk[y];
int rx=x+k<n?rnk[x+k]:-1;
int ry=y+k<n?rnk[y+k]:-1;
return rx<ry;
};
sort(sa.begin(),sa.end(),cmp);
tmp[sa[0]]=0;
for(int i=1;i<n;i++)tmp[sa[i]]=tmp[sa[i-1]]+(cmp(sa[i-1],sa[i])?1:0);
swap(tmp,rnk);
}
vector<int> r(n);
for(int i=0;i<n;i++)r[sa[i]]=i;
vector<int> h(n,0);
int k=0;
for(int i=0;i<n;i++){
if(r[i]==0){k=0;continue;}
if(k)k--;
int j=sa[r[i]-1];
while(i+k<n&&j+k<n&&s[i+k]==s[j+k])k++;
h[r[i]]=k;
}
for(int i=0;i<n;i++)printf("%d%c",sa[i]+1,i==n-1?'\n':' ');
for(int i=1;i<n;i++)printf("%d%c",h[i],i==n-1?'\n':' ');
if(n==1)printf("\n");
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Subtask #1 Testcase #1 | 21.61 us | 120 KB | Accepted | Score: 100 | 显示更多 |
| Subtask #1 Testcase #2 | 20.85 us | 120 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #3 | 19.99 us | 120 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #4 | 27.33 us | 120 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #5 | 26.61 us | 120 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #6 | 29.96 us | 120 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #7 | 92.949 ms | 2 MB + 896 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #8 | 107.034 ms | 3 MB + 60 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #9 | 95.948 ms | 2 MB + 948 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #10 | 56.925 ms | 1 MB + 968 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #11 | 57.186 ms | 1 MB + 1008 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #12 | 99.38 ms | 3 MB + 252 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #13 | 97.096 ms | 3 MB + 220 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #14 | 95.289 ms | 2 MB + 976 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #15 | 96.711 ms | 2 MB + 992 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #16 | 98.397 ms | 3 MB + 252 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #17 | 100.19 ms | 3 MB + 252 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #18 | 99.701 ms | 3 MB + 252 KB | Accepted | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-09-12 09:36:35 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠