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)
\]
后面的欧拉函数前缀和可以用杜教筛求出来,前面可以分块。