[jzoj 6084] [GDOI2019模拟2019.3.25] 礼物 [luogu 4916] 魔力环 解题报告(莫比乌斯反演+生成函数)
Posted xxzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[jzoj 6084] [GDOI2019模拟2019.3.25] 礼物 [luogu 4916] 魔力环 解题报告(莫比乌斯反演+生成函数)相关的知识,希望对你有一定的参考价值。
题目链接:
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})$
以上是关于[jzoj 6084] [GDOI2019模拟2019.3.25] 礼物 [luogu 4916] 魔力环 解题报告(莫比乌斯反演+生成函数)的主要内容,如果未能解决你的问题,请参考以下文章