[hihocoder1465]
描述小hi平時的一大興趣愛好就是演奏鋼琴。我們知道一段**旋律可以被表示為一段數構成的數列。
小hi發現旋律可以迴圈,每次把一段旋律裡面最前面乙個音換到最後面就成為了原旋律的「迴圈相似旋律」,還可以對「迴圈相似旋律」進行相同的變換能繼續得到原串的「迴圈相似旋律」。
小hi對此產生了濃厚的興趣,他有若干段旋律,和一部**作品。對於每一段旋律,他想知道有多少在**作品中的子串(重複便多次計)和該旋律是「迴圈相似旋律」。
分析
#include
#define ll long long
#define rint register int
using
namespace std;
const
int n=
2e5+10;
int t,n,m,lm,tot=
1,la=
1,ne[n][30
],len[n]
,siz[n]
,fa[n]
,c[n]
,a[n]
;char s[n]
,ch[n]
;ll ans;
bool v[n]
;void
add(
int c)}}
void
work()
}printf
("%lld\n"
,ans);}
intmain()
scanf
("%d"
,&t)
;while
(t--
)return0;
}
hihocoder 字尾陣列
時間限制 5000ms 單點時限 1000ms 記憶體限制 256mb 描述小hi平時的一大興趣愛好就是演奏鋼琴。我們知道乙個 旋律被表示為長度為 n 的數構成的數列。小hi在練習過很多曲子以後發現很多作品自身包含一樣的旋律。旋律是一段連續的數列,相似的旋律在原數列可重疊。比如在1 2 3 2 3 ...
hihocoder1415 字尾陣列三 重複旋律3
傳送門 題解 考慮求出兩串合在一起 中間加分隔符 字尾陣列,就是要求任意在兩個串中的 i,j min i leq k leq j 的最大值。考慮 i,j 一定是滿足 i j 1 且合法的時候最優。詳情見 hihocoder 解題方法提示 include include include include...
HihoCoder1415字尾陣列三 重複旋律3
時間限制 5000ms 單點時限 1000ms 記憶體限制 256mb 描述小hi平時的一大興趣愛好就是演奏鋼琴。我們知道乙個 旋律被表示為長度為 n 的數構成的數列。小hi在練習過很多曲子以後發現很多作品中的旋律有共同的部分。旋律是一段連續的數列,如果同一段旋律在作品a和作品b中同時出現過,這段旋...