似乎论文哥觉得这没有必要专门写个题解来提示?那我来吧(
在一类用到 Polya 计数定理的生成函数求解时,我们会遇到一些带入了
A(zk) 这样的式子,就比如这题可以列出这个方程:
A(z)=1+z6A(z)3+3A(z2)A(z)+2A(z3)
当然分治 NTT 肯定是可以做的,那么可不可以牛顿迭代呢?
当然是可以的,说起来其实也很简单,当我们要从
(modzn) 的解扩展到
(modz2n) 的时候,在这个方程里
zA(z2) 等等的系数其实已经都求出来了,所以把它当成一个常量就行了……总之写成
B=A(z2),C=A(z3),这样是不是顺眼多了:
A(z)=1+z6A3+3BA+2C
正常的牛顿迭代就可以了。代码