比赛场次 386
比赛名称 清华集训2017模板练习
比赛状态 已结束比赛成绩
开始时间 2017-12-02 20:00:00
结束时间 2017-12-02 22:00:00
开放分组 全部用户
注释介绍 重开一次NOI2017时候的模板练习赛
题目名称 后缀排序
输入输出 sais.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatar栋霸霸 AAAAAAAAAA 1.106 s 14.01 MiB 100
GravatarCydiater AAAAAAAAAA 1.655 s 18.31 MiB 100
GravatarFoolMike AAAAAAATTA 1.735 s 21.74 MiB 80
Gravatar再见 AAAAAAAATT 1.827 s 16.89 MiB 80

后缀排序

★★★   输入文件:sais.in   输出文件:sais.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

这是一道模板题。

读入一个长度为 $n$ 的由可见字符组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 $0$$n - 1$

【输入格式】

一行一个长度为 $n$ 的字符串。

【输出格式】

第一行 $n$ 个整数,第 $i$ 个整数为 $sa[i]$。

【样例输入】

ababa

【样例输出】

4 2 0 3 1

【提示】

$1 \leq n \leq 10^6$,注意 $sa$ 从 $0$ 开始输出,请使用较强的输入输出优化(如 $fread$,$fwrite$,$read$,$write$,$mmap$),算法可参考文件名,保证时间、空间限制均超过 $std$ 两倍。

【来源】

$UOJ 35$ 改编加强版