2020 CCPC Wannafly Winter Camp

Day 2

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

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


Day3

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

Problem D. 求和

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

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

题解:

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

枚举 \(g\)

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

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

\[f(n) = \sum\limits_{g|n} g \sum\limits^{\frac{n}{g}}_{i=1} \sum\limits^{\frac{n}{g}}_{j=1} [gcd(i,j,\frac{n}{g})==1] \]

莫比乌斯反演:

\[f(n) = \sum\limits_{g|n} g \sum\limits^{\frac{n}{g}}_{i=1} \sum\limits^{\frac{n}{g}}_{j=1} \sum\limits_{k|gcd(i,j,\frac{n}{g})} \mu(k) \]

枚举 \(k\)

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

\(T=kg\) , 枚举 \(T\)

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

狄利克雷卷积:

\[f(n) = \sum\limits_{T|n} (\frac{n}{T})^2 \varphi(T) \]

故:

\[F(n) = \sum\limits^n_{i=1} f(i) = \sum\limits^n_{i=1} \sum\limits_{T|i} T^2 \varphi(\frac{n}{T}) \]

交换求和顺序:

\[F(n) = \sum\limits^n_{T=1} T^2 \sum\limits^{\lfloor\frac{n}{T}\rfloor}_{i=1} \varphi(i) \]

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

posted @ 2020-01-13 22:45  KisekiPurin2019  阅读(249)  评论(0编辑  收藏  举报