单位根反演

式子:

[nd]=1ni=0n1ωnid

最常见的应用是 [xy(modn)]=[n(xy)]=i=0n1ωn(xy)i

1. LOJ6485 LJJ 学二项式定理

单位根反演入门题。

i=0n(ni)miaimod4

=i=0n(ni)mij=03[4(ij)]aj

=14i=0n(ni)mij=03ajk=03ω4(ij)k

=14j=03ajk=03ω4jki=0nω4ikmi

=14j=03ajk=03ω4jk(mω4k+1)n

我们知道在模 998244353 意义下 ω4=gmod14,其中 g998244353 的原根。这样就可以算了。

2. UOJ450 【集训队作业 2018】复读机

d=1 时答案显然为 kn

下面只讨论 d=3 的情况,d=2 类似。

设每个人的指数型生成函数(EGF)为 G(x)=i=0+[3i]xii!

欲求:

n!G(x)k[xn]

先化 G(x)

G(x)=13i=0+j=02(ω3jx)ii!

=13j=02i=0+(ω3jx)ii!

=13j=02ew3jx

运用的公式是 i=0(kx)ii!=ekx

我们枚举 k 次方中有 a0 个选了 j=0a1 个选了 j=1a2 选了 j=2,那么:

n!G(x)k=n!3ka0+a1+a2=ke(a0ω30+a1ω31+a2ω32)x(ka0,a1,a2)

把上面的公式逆过来,可得 ekx=i=0(kx)ii!,因此:

n![xn]G(x)k=13ka0+a1+a2=k(a0ω30+a1ω31+a2ω32)n(ka0,a1,a2)

暴力枚举 a0,a1,a2 即可,时间复杂度 O(kd1logn)

3. P5591 小猪佩奇学数学

自己推了一页草稿纸(B5)推出来了

考虑 im=iimodmm,分两类计算。

i=0n(ni)pii

=npi=0n1(n1i)pi

=np(p+1)n1

i=0n(ni)pi(imodm)

=i=0n(ni)pij=0m1[m(ij)]j

=1mi=0n(ni)pij=0m1jk=0m1ωm(ij)k

=1mj=0m1jk=0m1ωmjki=0n(ni)(pωmk)i

=1mj=0m1jk=0m1ωmjk(pωmk+1)n

=1mk=0m1(pωmk+1)nj=0m1j(ωmk)j

f(x)=i=0m1ixi,那么原式等于:

=1mk=0m1(pωmk+1)nf(ωmk)

现在考虑求 f(x)

f(x)=i=0m1ixi

xf(x)=i=1mixi

(x1)f(x)=(m1)xmi=1m1xi

g(x)=i=0m1xi,特判 x=1,那么:

f(x)=(m1)xmg(x)+1x1

现在考虑求 g(x)

g(x)=i=0m1xi

xg(x)=i=1mxi

(x1)g(x)=xm1

g(x)=xm1x1

然后就做完了。

4. P10084 [GDKOI2024 提高组] 计算

第一步是一个经典结论,L=mgcd(a,b)+1R=mgcd(c,d)

因为 L1(modm)R0(modm),所以可以把问题的范围改成 [1,n=RL+1]

写出选数的生成函数:

F(x)=i=1n(1+xi)

我们希望求所有次数是 m 的倍数的项的系数之和。

施单位根反演:

ans=i0[mi][xi]F(x)=1mi0j=0m1ωmij[xi]F(x)=1mj=0m1i0(ωmj)i[xi]F(x)=1mj=0m1F(ωmj)

考虑对于一个给定的 j 如何计算 F(ωmj)i=1n(1+(ωmj)i)

d=gcd(m,j)。因为有 ωmk=ωmkmodm,又因为 jd,2jd,,njd 形成了 nmd 个模 md 的剩余系,所以:

F(ωmj)=i=1n(1+(ωmdjd)i)=k=1md(1+ωmdk)nmd=k=0md1(1+ωmdk)nmd

考虑求这样一个式子:i=0n1(1+ωni)。考虑分圆多项式:

xn1=i=0n1(xωni)

代入 x=1 得:

(1)n1=i=0n1(1ωni)

1(1)n=i=0n1(1+ωni)

也就是当 md 为偶数时,F(ωmj)=0;否则 F(ωmj)=2nmd

F(ωmj) 代入到答案的式子中,有:

ans=1mj=0m1[2mgcd(m,j)]2nmgcd(j,m)

直接计算,时间复杂度 O(Tmlogn),无法通过。

考虑一些 trivial 的优化,枚举 d=gcd(m,j)[0,m1] 中和 mgcdd 的数的个数显然为 φ(md),那么:

ans=1mdm[2md]2nmdφ(md)

先线性筛出全部 φ(i) 即可计算。时间复杂度降为 O(T(m+d(m)logn)),可以通过。

posted @   zltzlt  阅读(54)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2022-07-20 UVA1478 Delta Wave 题解
2022-07-20 洛谷 SP19148 / SPOJ INS14G Kill them All
点击右上角即可分享
微信分享提示