[学习笔记]单位根反演

浪子不回头ぞ 提交于 2020-03-14 09:48:49

%iki9

介绍

朴素地,带入x=-1和1,可以求出k=2的情况,之后就无能为力了。

 

 

感觉需要一个东西划分“更细”一些,于是考虑单位根

分是否整除进行讨论即可证明

 大力展开式子,套用上面的公式即可证明

 

条件

1.实现的时候,必须要找到ai,并且构造一种等价变形,使得f(x)可以快速计算

2.该模数意义下,必须存在k次单位根,即p-1 mod k=0

好处

可以O(k*time(f))计算答案,如果time(f)很快,那么基本和n的关系不大了。

例题

A

一道题

bzoj 3328

都是利用C(n,i)二项式定理还原,直接O(logn)求f(x)

后面的bz题也可以直接套用通项公式,维护pair<>

B

白兔之舞

 [HNOI2019]白兔之舞

对于多个mod =t的可以考虑用NTT,一般情况应该也都能推出NTT的式子吧。。。

 

总结

挺套路的,基本形式很明显:mod k=t次项系数,k不大,且k是p-1的约数

难点在于:找到生成函数ai的计算式,找到F(x)的快速计算式。然后就是套用公式了。

一般暴力计算是O(n/k)的,单位根反演恰好相反,是O(k)的!!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!