随笔分类 - 数论—欧拉函数
摘要:根据polya定理,答案应该是 $$ \frac{1}{n}\sum_{i=1}^{n}n^{gcd(i,n)} $$ 但是这个显然不能直接求,因为n是1e9级别的,所以推一波式子: $$ \frac{1}{n}\sum_{i=1}^{n}n^{gcd(i,n)} $$ $$ =\frac{1}{n
阅读全文
摘要:参考:http://blog.csdn.net/qq_33229466/article/details/70174227 看这个等式的形式就像高精gcd嘛…所以随便算一下就发现每次修改(a,b)影响到的都是横纵坐标gcd为gcd(a,b)的,进而发现可以把gcd(i,j)==d的一部分都归到d上,f
阅读全文
摘要:首先题目中给出的代码打错了,少了个等于号,应该是 cpp G=0; for(i=1;i include using namespace std; const long long N=1000005,m=1000000,inv2=500000004,inv4=250000002,inv6=166666
阅读全文
摘要:和bzoj 3944比较像,但是时间卡的更死 设\\( f(n)=\sum_{d|n}\phi(d) g(n)=\sum_{i=1}^{n}f(i) s(n)=\sum_{i=1}^{n}\phi(i) \\),然后很显然对于mu\\( g(n)=1\\),对于\\( g(n)=n (n+1)/2
阅读全文
摘要:居然扒到了学长出的题 和3944差不多(?),虽然一眼看上去很可怕但是仔细观察发现,对于mu来讲,答案永远是1(对于带平方的,mu值为0,1除外),然后根据欧拉筛的原理,\\( \sum_{i=1}^{n}\phi(i^2)=\sum_{i=1}^{n}\phi(i)\ i \\),然后就可以正常推
阅读全文
摘要:参考:http://blog.csdn.net/wzf_2000/article/details/54630931 有这样一个显然的结论:当\\( |\mu(n)|==1 \\)时,\\( \phi(nk)=\phi(k)\sum_{d|gcd(n,k)}\phi(\frac{n}{d}) \\)然
阅读全文
摘要:一道杜教筛的板子题。 两个都是积性函数,所以做法是一样的。以mu为例,设\\( f(n)=\sum_{d|n}\mu(d) g(n)=\sum_{i=1}^{n}f(i) s(n)=\sum_{i=1}^{n}\mu(i) \\),然后很显然对于mu\\( g(n)=1\\),对于phi\\( g(
阅读全文
摘要:以后这种题能用phi的就不要用mu…mu往往会带着个ln然后被卡常致死 把题目要求转换为前缀和相减的形式,写出来大概是要求这样一个式子: $$ \sum_{i=1}^{n}\sum_{j=1}^{i}\frac{j}{gcd(i,d)} $$ 注意j的限制是i $$ \sum_{d=1}^{n}\s
阅读全文
摘要:用mu写lcm那道卡常卡成狗(然而最后也没卡过去,于是写一下gcd冷静一下 首先推一下式子 $$ \sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j) $$ $$ \sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{d=1}^{n}[gcd(i,j)==d]d $
阅读全文
摘要:第二个\\( O(T\sqrt(n)) \\)复杂度T了..T了..T了...天地良心,这能差多少?! 于是跑去现算(。 $$ \sum_{i=1}^{n 1}\sum_{j=i+1}^{n}gcd(i,j) $$ $$ \sum_{d=1}^{n}d\sum_{i=1}^{n 1}\sum_{j=
阅读全文