莫比乌斯反演
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
莫比乌斯反演套路1_线性筛法
线性筛法是O(n),不然它就不叫线性。原创 2017-01-20 22:22:15 · 960 阅读 · 0 评论 -
JZOJ 4583【NOI2016模拟7.5】求和
1<=n,m<=500000题解:为什么这么多题目的名字叫求和?这题其实有很多种做法,但是用一个非常简单的性质就可以做出来。。。s(pq)=∑i∣p∑j∣q[(i,j)=1]∗i∗q/js(pq)=\sum_{i|p}\sum_{j|q}[(i,j)=1]*i*{q/j}s(pq)=∑i∣p∑j∣q[(i,j)=1]∗i∗q/j证明之前写过:https://blog....原创 2018-12-21 21:09:18 · 201 阅读 · 0 评论 -
51nod 1355 斐波那契的最小公倍数
原题链接.题解:这题肯定是我做过的最简单的八级算法题了。设FiFiFi为斐波拉契序列的第i项。通过打表可得: gcd(Fn,Fm)=Fgcd(n,m)gcd(Fn,Fm)=Fgcd(n,m)gcd(Fn,Fm)=F_{gcd(n,m)}接下来尝试去证明这个结论。首先斐波拉契序列有一个递推式: Fn+m=Fn−1∗Fm+Fn∗Fm+1Fn+m=Fn−1∗Fm+Fn∗Fm+...原创 2018-09-13 21:31:13 · 332 阅读 · 0 评论 -
51nod 1847 奇怪的数学题(Mobius反演+min_25筛+杜教筛+自然数幂和)
传送门.题解:设s(n)s(n)s(n)表示nn的最小质因子nn的最小质因子n \over n的最小质因子先小反演一下:∑ni=1∑nj=1sgcd(i,j)k∑i=1n∑j=1nsgcd(i,j)k\sum_{i=1}^n \sum_{j=1}^n sgcd(i,j)^k =∑nd=2s(d)k∗∑ni=1∑nj=1[gcd(i,j)=d]=∑d=2ns(d)k∗∑i=1n∑j...原创 2018-09-08 22:11:46 · 437 阅读 · 0 评论 -
51nod 1220 约数之和
原题链接.题解:必要结论: σ(i∗j)=∑p|i∑q|jp∗jq(gcd(p,q)=1)σ(i*j)=\sum_{p|i} \sum_{q|j} p *{ j \over q} (gcd(p, q) =1) 证明: ∑p|i∑q|jp∗jq(gcd(p,q)=1)\sum_{p|i} \sum_{q|j} p *{ j \over q} (gcd(p, q) =1) =∑p|i∑q|jp∗原创 2017-10-09 18:52:37 · 431 阅读 · 0 评论 -
51nod 1584 加权约数和
原题链接.题解:必知知识:σ(n)是n的约数和。 若n=∏pqiin=\prod p_i^{q_i} 则σ(n)=∏∑qij=0pjiσ(n)=\prod \sum_{j=0}^{q_i} p_i^j =∏pqi+1i−1pi−1=\prod { p_i^{q_i + 1} - 1\over p_i - 1} 知道了这个就可以线性筛法了,如有不懂得见code。必要结论:σ(i∗j)=∑p|i原创 2017-10-09 20:44:04 · 504 阅读 · 2 评论 -
51nod 1223 分数等式的数量
原题链接.题解:Ans=∑ni=1∑i−1j=1i+j | i∗jAns = \sum_{i = 1}^n \sum_{j = 1}^{i-1} i + j ~| ~i * j =∑nd=1∑n/di=1∑i−1j=1d(i+j) | i∗j∗d2(gcd(i,j)=1)=\sum_{d = 1}^n \sum_{i=1}^{n/d} \sum_{j=1}^{i-1}d(i+j)~ | ~i*j*原创 2017-10-09 12:18:19 · 325 阅读 · 0 评论 -
51nod 2026 Gcd and Lcm
原题链接.题目大意:设f(n)=∑d|nμ(d)∗df(n) = \sum_{d|n}μ(d)*d。 求∑ni=1∑nj=1f(gcd(i,j))∗f(lcm(i,j))\sum_{i = 1}^n \sum_{j = 1}^n f(gcd(i, j)) * f(lcm(i, j)) 1<=n<=1091<=n<=10^9题解:把μ(d)*d看作一个整体,这是一个积性函数,卷了一个恒等函数,那么原创 2017-09-02 15:21:37 · 879 阅读 · 0 评论 -
51nod 1643 小Q的家庭作业
Description:定义 f(n) 表示 1 到 n 这 n 个数,同 n 的最大公约数的和。 例如 f(1)=1,f(2)=3,f(3)=5,f(6)=15 ,比如 n=6 时 1,2,3,4,5,6 同 6 的最大公约数分别为 1,2,3,2,1,6 ,它们的和是 15 。 小Q遇到了一个问题,Nod老师要求他回家计算 g(n)=∑d|nf(d) 这个函数模 1000000007 的值,原创 2017-08-26 18:01:15 · 492 阅读 · 0 评论 -
【NOIP2017提高A组模拟8.25】夜莺与玫瑰
Description: 1<=T<=10000,1<=n<=4000题解:好久没有比赛时切这么恶心的数论题了。显然的想法是枚举直线的斜率,再把这条直线塞到矩形里,平行于坐标轴的直线特判一下就行了。枚举斜率就是枚举个i,j,斜率就是j/i,保证(gcd(i, j) =1)就不会重复,斜率为负的是一样的,最后乘一个2即可。最后一个问题这条直线能塞到多少个地方。可以这么想:这条直线占了一个i*j的矩形原创 2017-08-25 14:05:58 · 1219 阅读 · 0 评论 -
【GDOI2018模拟8.12】求和
Description: 1<=n<=10^10,k = 1、40题解:一看就是反演题,立马进行简单变形: 原式=∑kx=1∑nd=1fx(d)∗∑ni=1∑nj=1[gcd(i,j)=d]\sum_{x = 1}^k \sum_{d = 1}^n f_x(d) *\sum_{i = 1}^n \sum_{j = 1}^n [gcd(i, j) = d] =∑kx=1∑nd=1fx(d)∗∑⌊原创 2017-08-15 15:49:25 · 412 阅读 · 0 评论 -
【GDOI2018模拟8.11】质数
Description: 1<=n<=10^12题解:看到这种题就会想这是不是反演题。 如果它是一道反演题,那它必须要有gcd来,题目中没有gcd,所以能不能变换出gcd呢。 实际上2f(x)=[gcd(i,j)=1]∗[i∗j=x]2^{f(x)} = [gcd(i, j) = 1] *[i *j = x],即考虑每一个p^q是给i还是给j。 Ans=∑ni=1∑j|i[gcd(j,ij)原创 2017-08-11 19:04:13 · 524 阅读 · 0 评论 -
51nod 1222 最小公倍数计数
题目大意:求有多少个二元组[x,y]满足a<=lcm(x, y)<=b且x<=y。 1<=a<=b<=101110^{11}题解:先不考虑x<=y的情况,求出答案以后加上(b - a + 1)再除以2即可。 要满足a<=lcm(x,y)<=b,可以先求出1 ~ a - 1, 1 ~ b的,再相减。 由于我很弱,所以我一步一步来:Ans=∑ni=1∑nj=1[lcm(i,j)<=n]Ans =原创 2017-07-06 11:44:07 · 449 阅读 · 0 评论 -
51nod 1237 最大公约数之和 V3
题目大意:G=0;for(i=1;i<=N;i++)for(j=1;j<=N;j++){ G = (G + gcd(i,j)) % 1000000007;}题解:杜教筛。 这里提供两种反演姿势,之后我们会发现一个神奇的东西。 在此之前你得会杜教筛φ。反演1:∑ni=1∑nj=1gcd(i,j)\sum_{i = 1}^n \sum_{j = 1}^n gcd(i, j) =2∗原创 2017-06-23 12:47:34 · 557 阅读 · 0 评论 -
51nod 1190 最小公倍数之和V2
题目大意:给出2个数a, b,求LCM(a,b) + LCM(a+1,b) + .. + LCM(b,b)。 1T组数据,1且数据为随机,没有构造的卡人数据。题解:这一题我是不会的,去网上看了下题解,发现了一个奇怪的反演姿势。必要结论: ∑d|nμ(d)=(n=1)\sum_{d | n} μ(d) = (n = 1) 证明略。Ans=∑bi=alcm(i)Ans原创 2017-07-02 21:46:36 · 588 阅读 · 1 评论 -
JZOJ 5163【NOIP2017模拟6.25】PS的烦恼
Description:话说PS总是有着各种各样的烦恼,这天,他又在为自己失败的感情史烦恼着。这时,他心中的女神,魔法少女小圆从天而降,她对他说,如果你能帮我解决一个问题,我就让你永远没有烦恼。 问题是这样的: 寻找一个最大的k,使得存在一个x使得x^k=y,那么f(y)=k,即y最多可以开k次方根。 小圆的要求是求出从a到b的f值之和(包括a和b)。Input:多组数据,每组数据一行包含两个原创 2017-06-27 22:02:43 · 645 阅读 · 0 评论 -
【GDOI2019Day1模拟2019.4.28】爱乐之城
Description:题解:数论组合题,成功区分数论忘光选手。task1:∑i=1n∑j=1ni∗j∗[(i,j)=1]\sum_{i=1}^n \sum_{j=1}^n i*j*[(i,j)=1]∑i=1n∑j=1ni∗j∗[(i,j)=1]直接反演:∑d=1nμ(d)∗(∑d∣i,i<=n)2\sum_{d=1}^n\mu(d)*(\sum_{d|i,i&am...原创 2019-04-28 20:29:54 · 362 阅读 · 0 评论