【ARC064F】Rotated Palindromes

Description

問長度爲N,字符集大小爲K的字符串中有多少個,在經過若干次“把第一個字符扔到最後面”的操作之後變成迴文串。
N,K<=10^9

Analysis

對於每個迴文串考慮由它產生的不同字符串個數。
可以發現是跟它的最小週期d相關的。因爲操作了d次之後又變回了原串,就重複了。
對於d爲奇數的情況,字符串的貢獻就是d
但是對於d爲偶數的情況,貢獻是d/2,因爲迴文串的週期串也必定迴文,假設週期串S形如AA,顯然把第一個A放到後面時就產生了重複。
奇數就是d的理由是週期串必定形如AcA,可以發現並不會重複。

那麼問題變成求出“長度爲N,字符集大小爲K,最小週期長度爲x”的字符串個數。遞推去重即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章