2020 CCPC Wannafly Winter Camp

Day 2

上午听dls讲数据结构,下午现学现用搞会了一个启发式合并。晚上就被上帝整去了div1。

题解:考虑每个元音字母的贡献,然后统计。


Day3

就做了一个换根DP,还不是正解。又死在筛法上,学了这么多都不知道什么时候可以不落后其他银牌队伍这种题。

Problem D. 求和

题意:令 (f(n) = sumlimits^n_{i=1}sumlimits^n_{j=1} gcd(i,j,n)) ,求 $F(n) = sumlimits^n_{i=1} f(i) $

请输出答案对 (mod) 取模的值。保证 (mod) 是个质数。 ((1 leq n leq 10^9, mod leq 10^9 + 9))

题解:

[f(n) = sumlimits^n_{i=1}sumlimits^n_{j=1} gcd(i,j,n) ]

枚举 (g)

[f(n) = sumlimits^n_{g=1} g sumlimits^n_{i=1}sumlimits^n_{j=1} [gcd(i,j,n)==g] ]

显然, (g)(n) 的倍数, (i)(j) 都是 (g) 的倍数,那么一起除掉 (g)

[f(n) = sumlimits_{g|n} g sumlimits^{frac{n}{g}}_{i=1} sumlimits^{frac{n}{g}}_{j=1} [gcd(i,j,frac{n}{g})==1] ]

莫比乌斯反演:

[f(n) = sumlimits_{g|n} g sumlimits^{frac{n}{g}}_{i=1} sumlimits^{frac{n}{g}}_{j=1} sumlimits_{k|gcd(i,j,frac{n}{g})} mu(k) ]

枚举 (k)

[f(n) = sumlimits_{g|n} g sumlimits_{k|frac{n}{g}} mu(k) (frac{n}{kg})^2 ]

(T=kg) , 枚举 (T)

[f(n) = sumlimits_{T|n} (frac{n}{T})^2 sumlimits_{g|T} g mu(frac{T}{g}) ]

狄利克雷卷积:

[f(n) = sumlimits_{T|n} (frac{n}{T})^2 varphi(T) ]

故:

[F(n) = sumlimits^n_{i=1} f(i) = sumlimits^n_{i=1} sumlimits_{T|i} T^2 varphi(frac{n}{T}) ]

交换求和顺序:

[F(n) = sumlimits^n_{T=1} T^2 sumlimits^{lfloorfrac{n}{T} floor}_{i=1} varphi(i) ]

后面的欧拉函数前缀和可以用杜教筛求出来,前面可以分块。

原文地址:https://www.cnblogs.com/KisekiPurin2019/p/12189785.html