提交记录 7267
| 提交时间 |
评测时间 |
| 2019-01-20 16:03:47 |
2020-08-01 01:02:12 |
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef unsigned long long u64;
const int maxn = 1E6 + 10;
const u64 base = 20123;
int n;
char s[maxn];
u64 f[maxn], p[maxn];
void init() {
for (int i = p[0] = 1; i <= n; i++)
f[i] = f[i - 1] * base + s[i],
p[i] = p[i - 1] * base;
}
u64 get_hash(int l, int r) {
return f[r] - f[l - 1] * p[r - l + 1];
}
int lcp(int x, int y) {
int l = 1, r = n - max(x, y) + 1, ans = 0;
while (l <= r) {
int mid = (l + r) / 2;
if (get_hash(x, x + mid - 1) == get_hash(y, y + mid - 1))
ans = mid, l = mid + 1;
else r = mid - 1;
}
return ans;
}
int a[maxn];
bool cmp(int x, int y) {
int ans = lcp(x, y);
return s[x + ans] < s[y + ans];
}
int main() {
scanf("%s", s + 1);
n = strlen(s + 1); init();
for (int i = 1; i <= n; i++)
a[i] = i;
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++)
printf("%d ", a[i]);
printf("\n");
for (int i = 1; i < n; i++)
printf("%d ", lcp(a[i], a[i + 1]));
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Subtask #1 Testcase #1 | 10.41 us | 32 KB | Wrong Answer | Score: -100 | 显示更多 |
| Subtask #1 Testcase #2 | 15.34 us | 32 KB | Accepted | Score: 100 | 显示更多 |
| Subtask #1 Testcase #3 | 10.86 us | 32 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #4 | 16.68 us | 32 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #5 | 15.67 us | 32 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #6 | 16.32 us | 32 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #7 | 138.52 ms | 2 MB + 804 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #8 | 157.175 ms | 2 MB + 992 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #9 | 147.176 ms | 2 MB + 856 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #10 | 89.868 ms | 1 MB + 876 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #11 | 92.385 ms | 1 MB + 916 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #12 | 92.342 ms | 3 MB + 160 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #13 | 168.874 ms | 3 MB + 128 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #14 | 151.608 ms | 2 MB + 884 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #15 | 161.542 ms | 2 MB + 900 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #16 | 119.834 ms | 3 MB + 160 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #17 | 126.455 ms | 3 MB + 160 KB | Accepted | Score: 0 | 显示更多 |
| Subtask #1 Testcase #18 | 125.441 ms | 3 MB + 160 KB | Accepted | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-04-08 19:00:53 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠