BZOJ2795/POI2012 A horrible poem
Task
给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节。
如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到。
n<=500,000, q<=2,000,000.Solution
假如最短循环节为lenlen,设t=n/lent=n/len,现在的问题就是找到最大的t.
t肯定是n的因子,那就可以直接枚举n的所有素因子k,若当前的
原创
2016-10-09 19:44:35 ·
596 阅读 ·
0 评论