式子:
[n∣d]=1nn−1∑i=0ωidn
最常见的应用是 [x≡y(modn)]=[n∣(x−y)]=n−1∑i=0ω(x−y)in。
单位根反演入门题。
n∑i=0(ni)miaimod4
=n∑i=0(ni)mi3∑j=0[4∣(i−j)]aj
=14n∑i=0(ni)mi3∑j=0aj3∑k=0ω(i−j)k4
=143∑j=0aj3∑k=0ω−jk4n∑i=0ωik4mi
=143∑j=0aj3∑k=0ω−jk4(mωk4+1)n
我们知道在模 998244353 意义下 ω4=gmod−14,其中 g 为 998244353 的原根。这样就可以算了。
d=1 时答案显然为 kn。
下面只讨论 d=3 的情况,d=2 类似。
设每个人的指数型生成函数(EGF)为 G(x)=+∞∑i=0[3∣i]xii!
欲求:
n!G(x)k[xn]
先化 G(x):
G(x)=13+∞∑i=02∑j=0(ωj3x)ii!
=132∑j=0+∞∑i=0(ωj3x)ii!
=132∑j=0ewj3x
运用的公式是 ∞∑i=0(kx)ii!=ekx。
我们枚举 k 次方中有 a0 个选了 j=0,a1 个选了 j=1,a2 选了 j=2,那么:
n!G(x)k=n!3k∑a0+a1+a2=ke(a0ω03+a1ω13+a2ω23)x(ka0,a1,a2)
把上面的公式逆过来,可得 ekx=∞∑i=0(kx)ii!,因此:
n![xn]G(x)k=13k∑a0+a1+a2=k(a0ω03+a1ω13+a2ω23)n(ka0,a1,a2)
暴力枚举 a0,a1,a2 即可,时间复杂度 O(kd−1logn)。
自己推了一页草稿纸(B5)推出来了
考虑 ⌊im⌋=i−imodmm,分两类计算。
n∑i=0(ni)pii
=npn−1∑i=0(n−1i)pi
=np(p+1)n−1
n∑i=0(ni)pi(imodm)
=n∑i=0(ni)pim−1∑j=0[m∣(i−j)]j
=1mn∑i=0(ni)pim−1∑j=0jm−1∑k=0ω(i−j)km
=1mm−1∑j=0jm−1∑k=0ω−jkmn∑i=0(ni)(pωkm)i
=1mm−1∑j=0jm−1∑k=0ω−jkm(pωkm+1)n
=1mm−1∑k=0(pωkm+1)nm−1∑j=0j(ω−km)j
设 f(x)=m−1∑i=0ixi,那么原式等于:
=1mm−1∑k=0(pωkm+1)nf(ω−km)
现在考虑求 f(x)。
f(x)=m−1∑i=0ixi
xf(x)=m∑i=1ixi
(x−1)f(x)=(m−1)xm−m−1∑i=1xi
设 g(x)=m−1∑i=0xi,特判 x=1,那么:
f(x)=(m−1)xm−g(x)+1x−1
现在考虑求 g(x)。
g(x)=m−1∑i=0xi
xg(x)=m∑i=1xi
(x−1)g(x)=xm−1
g(x)=xm−1x−1
然后就做完了。
第一步是一个经典结论,L=mgcd(a,b)+1,R=mgcd(c,d)。
因为 L≡1(modm) 且 R≡0(modm),所以可以把问题的范围改成 [1,n=R−L+1]。
写出选数的生成函数:
F(x)=n∏i=1(1+xi)
我们希望求所有次数是 m 的倍数的项的系数之和。
施单位根反演:
ans=∑i≥0[m∣i][xi]F(x)=1m∑i≥0m−1∑j=0ωijm[xi]F(x)=1mm−1∑j=0∑i≥0(ωjm)i[xi]F(x)=1mm−1∑j=0F(ωjm)
考虑对于一个给定的 j 如何计算 F(ωjm) 即 n∏i=1(1+(ωjm)i)。
设 d=gcd(m,j)。因为有 ωkm=ωkmodmm,又因为 jd,2jd,…,njd 形成了 nmd 个模 md 的剩余系,所以:
F(ωjm)=n∏i=1(1+(ωjdmd)i)=md∏k=1(1+ωkmd)nmd=md−1∏k=0(1+ωkmd)nmd
考虑求这样一个式子:n−1∏i=0(1+ωin)。考虑分圆多项式:
xn−1=n−1∏i=0(x−ωin)
代入 x=−1 得:
(−1)n−1=n−1∏i=0(−1−ωin)
1−(−1)n=n−1∏i=0(1+ωin)
也就是当 md 为偶数时,F(ωjm)=0;否则 F(ωjm)=2nmd。
把 F(ωjm) 代入到答案的式子中,有:
ans=1mm−1∑j=0[2∤mgcd(m,j)]2nmgcd(j,m)
直接计算,时间复杂度 O(Tmlogn),无法通过。
考虑一些 trivial 的优化,枚举 d=gcd(m,j),[0,m−1] 中和 m 的 gcd 为 d 的数的个数显然为 φ(md),那么:
ans=1m∑d∣m[2∤md]2nmdφ(md)
先线性筛出全部 φ(i) 即可计算。时间复杂度降为 O(T(√m+d(m)logn)),可以通过。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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