【ARC064F】Rotated Palindromes

xiaoxiao2021-02-28  38

Description

问长度为N,字符集大小为K的字符串中有多少个,在经过若干次“把第一个字符扔到最后面”的操作之后变成回文串。 N,K<=10^9

Analysis

对于每个回文串考虑由它产生的不同字符串个数。 可以发现是跟它的最小周期d相关的。因为操作了d次之后又变回了原串,就重复了。 对于d为奇数的情况,字符串的贡献就是d 但是对于d为偶数的情况,贡献是d/2,因为回文串的周期串也必定回文,假设周期串S形如AA,显然把第一个A放到后面时就产生了重复。 奇数就是d的理由是周期串必定形如AcA,可以发现并不会重复。

那么问题变成求出“长度为N,字符集大小为K,最小周期长度为x”的字符串个数。递推去重即可。

转载请注明原文地址: https://www.6miu.com/read-2614189.html

最新回复(0)