提交记录 16514


用户 题目 状态 得分 用时 内存 语言 代码长度
Zcus 1006. 【模板题】后缀排序 Wrong Answer 0 56.907 ms 17128 KB C++ 927 B
提交时间 评测时间
2021-09-24 11:49:06 2021-09-24 11:49:11
#include <bits/stdc++.h>

using namespace std;

const int maxn = 2e6 + 50;

int n, m;
int x[maxn], y[maxn], sa[maxn];
int c[maxn];

char s[maxn];


void SORT() {
	for (int i = 0; i <= m; i++) c[i] = 0;
	for (int i = 1; i <= n; i++) c[x[i]]++;
	for (int i = 1; i <= m; i++) c[i] = c[i - 1] + c[i];
	for (int i = n; i >= 1; i--) sa[c[x[y[i]]]--] = y[i];
}

void SA() {
	m = 123;
	for (int i = 1; i <= n; i++) x[i] = s[i] - '0' + 1, y[i] = i;
	SORT();
	for (int k = 1; k <= n; k <<= 1){
		int p = 0;
		for (int i = n - k +1; i  <= n; i++) y[++p] = i;
		for (int i = 1; i <= n; i++) if (sa[i] > k) y[++p] = sa[i] - k;
		SORT();
		swap(x, y);
		x[sa[1]] = p = 1;
		for (int i = 2; i <= n; i++) 
			x[sa[i]] = (y[sa[i]] == y[sa[i - 1]] && y[sa[i] + k] == y[sa[i - 1] + k]) ? p : ++p;
		m = p;
		if (m == n) break;
	}
}
int main() {
	scanf("%s", s + 1);
	n = strlen(s + 1);
	SA();
	for (int i = 1; i <= n; i++) printf("%d ", sa[i]);
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #13.093 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #23.098 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #33.098 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #45.929 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #55.95 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #65.944 ms15 MB + 316 KBWrong AnswerScore: 0

Subtask #1 Testcase #722.659 ms16 MB + 704 KBWrong AnswerScore: 0

Subtask #1 Testcase #856.907 ms16 MB + 736 KBWrong AnswerScore: 0

Subtask #1 Testcase #927.068 ms16 MB + 744 KBWrong AnswerScore: 0

Subtask #1 Testcase #1020.553 ms16 MB + 240 KBWrong AnswerScore: 0

Subtask #1 Testcase #1122.836 ms16 MB + 240 KBWrong AnswerScore: 0

Subtask #1 Testcase #1249.256 ms16 MB + 608 KBWrong AnswerScore: 0

Subtask #1 Testcase #1345.345 ms16 MB + 660 KBWrong AnswerScore: 0

Subtask #1 Testcase #1431.842 ms16 MB + 740 KBWrong AnswerScore: 0

Subtask #1 Testcase #1531.608 ms16 MB + 728 KBWrong AnswerScore: 0

Subtask #1 Testcase #1648.104 ms16 MB + 608 KBWrong AnswerScore: 0

Subtask #1 Testcase #1747.883 ms16 MB + 608 KBWrong AnswerScore: 0

Subtask #1 Testcase #1848.27 ms16 MB + 608 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-19 02:26:46 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠