题目链接:
https://jzoj.net/senior/#main/show/6084
https://www.luogu.org/problemnew/show/P4916
题目:
题解:
我们设$f(x)$表示最小循环节长度为x的合法序列数,那么有$ans=\sum_{d|gcd(n,m)}\frac{1}{d}f(d)$
这是因为最小循环节为d的序列对应的环会被计算d次,比如
- 0101,最小循环节长度为 2(循环节为 01),其对应的环会被统计 2 次(序列 0101 与 1010)
- 0111,最小循环节长度为 4(循环节为 0111),其对应的环会被统计 4 次(序列 0111,1011,1101,1110)
- 1111,最小循环节长度为 1(循环节为 1),其对应的环会被统计 1 次(序列 1111)
直接求$f(x)$并不好求,我们令$g(x)=\sum_{d|x}f(d)$,即$g(x)$表示最小循环节是x的因子的合法序列的个数。那么可以莫比乌斯反演来求$f(x)$,$f(x)=\sum_{d|x}\mu(d)g(\frac{x}{d})$
原文地址:https://www.cnblogs.com/xxzh/p/10594997.html
时间: 2024-11-08 12:15:13