bzoj 2882 工藝 (字尾自動機 map)

2021-07-25 12:49:58 字數 1052 閱讀 1051

time limit: 10 sec  

memory limit: 128 mb

submit: 596  

solved: 266 [

submit][

status][

discuss]

小敏和小燕是一對好朋友。

他們正在玩一種神奇的遊戲,叫minecraft。

他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。

他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。

兩個工藝品美觀的比較方法是,從頭開始比較,如果第i個位置上方塊不一樣那麼誰的瑕疵度小,那麼誰就更漂亮,如果一樣那麼繼續比較第i+1個方塊。如果全都一樣,那麼這兩個工藝品就一樣漂亮。

第一行兩個整數n,代表方塊的數目。

第二行n個整數,每個整數按從左到右的順序輸出方塊瑕疵度的值。

一行n個整數,代表最美觀工藝品從左到右瑕疵度的值。 10

10 9 8 7 6 5 4 3 2 1

1 10 9 8 7 6 5 4 3 2

【資料規模與約定】

對於20%的資料,n<=1000

對於40%的資料,n<=10000

對於100%的資料,n<=300000 [

submit][

status][

discuss]

題解:字尾自動機+map

在原串的後面再接一遍原串,然後建立字尾自動機。查答案的時候在字尾自動機上每次走最小的字元,輸出連續n個即可。

#include#include#include#include#include#include#define n 600003

using namespace std;

int n,m,cnt,nq,np,p,q,last,root;

mapch[n*2];

int fa[n*2],l[n*2],a[n];

void extend(int x) }}

int main()

}

BZOJ 2882 工藝 字尾自動機 map

小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。兩個工藝品美觀的比較方法是,從頭開始比較,如果第i...

BZOJ 2882 工藝 字尾自動機 map

小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。兩個工藝品美觀的比較方法是,從頭開始比較,如果第i...

bzoj2882 工藝(字尾自動機(最小表示法))

原題位址 題意 小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。兩個工藝品美觀的比較方法是,從頭開...