2021.3

没有什么理由不拼尽全力了

3.6

今天做了 JZPKIL , 复习了一下反演/积性函数相关的一点知识/伯努利数/Pollard's rho 的写法

下午看了看 AHC 的题和鱼鱼出的比赛题都感觉不太会,我好弱啊/kk


\(\sum gcd^x(i,n)lcm^y(i,n) = n^y\sum gcd^{x-y}(i,n)i^y\)

忽略 \(n^y\) 并枚举因数 :

\(\large = \sum\limits_{d|n} d^x \sum\limits_{i\leq \frac{n}{d}} i^y [(i,\frac{n}{d})=1]\)

\(\large = \sum\limits_{d|n}d^x \sum\limits_{p|\frac{n}{d}} \mu(p)p^y \sum\limits_{i=1}^{\frac{n}{dp}}i^y\)

由于自然数 \(k\) 次幂和是一个 \(k+1\) 次多项式 \(\sum a_ix^i\) , 因此我们可以分开考虑每一项对答案的贡献.

考虑一个 \(a_ix^i\) 对答案的贡献.

此时令 \(F(n)=n^x,G(n)=\mu(n)n^y,H(n)=n^i\),我们要算的就是 \(F/G/H\) 三个积性函数的狄利克雷卷积的第 \(n\) 项的值.

乘以 \(a_i\) 就可以算出 \(a_ix^i\) 这一项对答案的贡献。

由于 \(F/G/H\) 都是积性函数所以答案函数是关于 \(n\) 的积性函数, \(pollard-rho\) 分解质因子然后计算即可。

接下来问题是如何算出这个多项式的系数。

\(\Theta(n^2)\) 插值是不行的因为有 \(100\) 组数据

那就只能用伯努利数了。

伯努利数

\(\large B_0=1\)

\(\large \sum\limits_{i=0}^n B_i \binom{n+1}{i} = 0 \quad (n>0)\)

\(\large S(n,k) = \sum\limits_{i=0}^{n-1} i^k = \frac{1}{k+1} \sum\limits_{i=0}^k \binom{k+1}{i}B_in^{k+1-i}\)

可以 \(\Theta(n^2)\) 求出 \(B_0...B_n\) , 当然也可以用 \(B(x) = \large \frac{x}{e^x-1}\) \(\Theta(n \log n)\) 算。

复杂度不想分析,反正能跑

3.7

开了个新坑 SAM-review , 写 SAM 板子.

posted @ 2021-03-06 19:47  srf  阅读(186)  评论(0编辑  收藏  举报