統計描述 提交
自定義測試
這是一道模板題。
讀入乙個長度為 nn 的由小寫英文本母組成的字串,請把這個字串的所有非空字尾按字典序從小到大排序,然後按順序輸出字尾的第乙個字元在原串中的位置。位置編號為 11 到 nn。
除此之外為了進一步證明你確實有給字尾排序的超能力,請另外輸出 n−1n−1 個整數分別表示排序後相鄰字尾的最長公共字首的長度。
輸入格式
一行乙個長度為 nn 的僅包含小寫英文本母的字串。
輸出格式
第一行 nn 個整數,第 ii 個整數表示排名為 ii 的字尾的第乙個字元在原串中的位置。
第二行 n−1n−1 個整數,第 ii 個整數表示排名為 ii 和排名為 i+1i+1 的字尾的最長公共字首的長度。
樣例一
input
ababa
output
5 3 1 4 2
1 3 0 2
explanation
排序後結果為:
a aba
ababa
ba baba
限制與約定
1≤n≤1051≤n≤105
時間限制:1s1s
空間限制:256mb256mb
/*
求height裸題.
陣列從0開始有乙個點過不去
然後改了從1開始,改了好久。。
*/#include
#include
#include
#define maxn 100001
using
namespace
std;
int n,m=130,s[maxn],sa[maxn],ht[maxn],rank[maxn],t1[maxn],t2[maxn],c[maxn];
char ch[maxn];
bool cmp(int *y,int a,int b,int k)
void slovesa()
if(p>n) break;
}}void sloveheight()
ht[1]=0;
}int main()
UOJ 35 字尾排序
這是一道模板題。讀入乙個長度為 n 的由小寫英文本母組成的字串,請把這個字串的所有非空字尾按字典序從小到大排序,然後按順序輸出字尾的第乙個字元在原串中的位置。位置編號為 1 到 n。除此之外為了進一步證明你確實有給字尾排序的超能力,請另外輸出 n 1 個整數分別表示排序後相鄰字尾的最長公共字首的長度...
UOJ35 字尾陣列(模板)
這是一道模板題。讀入乙個長度為 n n n 的由小寫英文本母組成的字串,請把這個字串的所有非空字尾按字典序從小到大排序,然後按順序輸出字尾的第乙個字元在原串中的位置。位置編號為 1 1 1 到 n n n。除此之外為了進一步證明你確實有給字尾排序的超能力,請另外輸出 n 1 n 1 n 1 個整數分...
Codevs 1500 字尾排序 字尾陣列
1500 字尾排序 時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 題目描述 description 天凱是mit的新生。prof.handsomeg給了他乙個長度為n的由小寫字母構成的字串,要求他把該字串的n個字尾 suffix 從小到大排序。何謂字尾?假設字串是s ...