3790 神奇項鍊

2022-05-12 09:34:26 字數 489 閱讀 5600

母親節就要到了,小 h 準備送給她乙個特殊的項鍊。這個項鍊可以看作乙個用小寫字

母組成的字串,每個小寫字母表示一種顏色。為了製作這個項鍊,小 h 購買了兩個機器。第乙個機器可以生成所有形式的回文串,第二個機器可以把兩個回文串連線起來,而且第二個機器還有乙個特殊的性質:假如乙個字串的字尾和乙個字串的字首是完全相同的,那麼可以將這個重複部分重疊。例如:aba和aca連線起來,可以生成串abaaca或 abaca。現在給出目標項鍊的樣式,詢問你需要使用第二個機器多少次才能生成這個特殊的項鍊。 

輸入資料有多行,每行乙個字串,表示目標項鍊的樣式。 

多行,每行乙個答案表示最少需要使用第二個機器的次數。 

abcdcba

abacada

abcdef 02

5每個測試資料,輸入不超過 5行 

每行的字串長度小於等於 50000 

先manacher,求出每個點向後可以有多長的回文串,然後就變成了用最少的線段覆蓋乙個區間。。

3790 神奇項鍊

容易發現,處理回文串的時候得到的答案是可以去更新答案的,即 令 f i f i 表示處理前 i i 個最小由幾個回文串構成,那麼,對於第 i role presentation i i個位置,他由 i p i n i p i n 能更新的就是 前 1 i p i 1 1,i p i 1 因為前字尾相...

bzoj3790 神奇項鍊

傳送門 記一下貪心的方法 從左往右掃。每個回文左端點記錄了回文右端點的位置。l as tlast last 記錄上次的最右端。max rmaxr maxr 記錄從i ii往右走到las tlast last 過程中的最右端。初始化las t ma xr t 0 last maxr t 0 last ...

BZOJ3790 神奇項鍊

想要成為我的master嘛?題目大意 用最少的回文串覆蓋整個字串,可重疊。題解 manacher 貪心 md最近好幾個線段覆蓋的題都沒看出來。manacher算出以每個字元為中心的回文串,就是乙個線段,計算出左端點i len i 1和 右端點i len i 1,然後貪心用每個線段覆蓋區間就好了,兩個...