![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫比乌斯反演
文章平均质量分 68
WerKeyTom_FTD
我是一只来自中山纪念中学高三的oier,请多多指教
展开
-
于神之怒
题目大意求∑ni=1∑mj=1gcd(i,j)k\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)^k n,m,k<=5000000繁衍设h[i]=ikh[i]=i^k,显然h可以线筛出来。 设n<=m如果不小于就调换。 设f[d]=∑ni=1∑mj=1(gcd(i,j)==d)f[d]=\sum_{i=1}^n\sum_{j=1}^m(gcd(i,j)==d) 那么显然f[d原创 2016-01-08 19:37:53 · 890 阅读 · 0 评论 -
[bzoj4815][CQOI2017]小Q的表格
题目描述小Q是个程序员。 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理。每当小Q不知道如何解决 时,就只好向你求助。为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号。 为了完成任务,表格里面每个格子都填了一个整数,为了方便描述,小Q把第a行第b列的整数记为f(a,b),为了完成 任务,这个表格要满足一些条件:(1)对任意的正原创 2017-06-16 17:12:32 · 651 阅读 · 0 评论 -
[JZOJ5134][SDOI省队集训2017]三元组
题目大意求∑ai=1∑bj=1∑ck=1[(i,j)=1][(i,k)=1][(j,k)=1]\sum_{i=1}^a\sum_{j=1}^b\sum_{k=1}^c[(i,j)=1][(i,k)=1][(j,k)=1]推式子首先假设a<=b<=c。 第一步转化为 ∑ai=1∑bj=1,(j,i)=1∑ck=1,(k,i)=1[(j,k)=1]\sum_{i=1}^a\sum_{j=1,(j,i原创 2017-06-09 21:24:28 · 819 阅读 · 0 评论 -
[51nod1355]斐波那契的最小公倍数
题目大意求n个斐波那契数的最小公倍数。做法首先斐波那契数列有性质(fn,fm)=f(n,m)(f_n,f_m)=f_{(n,m)} 具体证明不证了,烂大街的性质了。 构造数列g满足 fn=Πd|ngdf_n=\Pi_{d|n}g_d 可以用莫比乌斯反演求出g gn=Πd|nfμ(nd)dg_n=\Pi_{d|n}f_d^{\mu(\frac{n}{d})} 接下来我们知道求lcm可以转化原创 2017-06-25 22:33:29 · 1047 阅读 · 0 评论 -
容斥的原理及广义应用
容斥原理想起容斥原理,大家都不陌生。 相信很多地方都会举这样类似一个最简单的例子让大家理解容斥: 现在赛场上有n个人,都参加过WC、CTSC和APIO。 拿过至少一个比赛的金牌的有多少人? 我们可以简单计算拿过WC金牌的人数+拿过CTSC的金牌的人数+拿过APIO的金牌的人数。 但是这样会记重,比如jasonvictoryan,他既拿过WC的金牌又拿过APIO的金牌,又比如czllgzmz原创 2017-07-07 16:30:35 · 8256 阅读 · 3 评论 -
质数
题目大意设f(i)表示i的不同质因子数量。 求∑ni=12f(i)\sum_{i=1}^n2^{f(i)} n<=10^12推式子我知道你可能会推出一个看起来是n5/6n^{5/6}实际是n2/3n^{2/3}的方法,但肯定还是不能过的,大概能跑10^11这个级别。 首先把式子变成 ∑ni=1∑d|i[(d,i/d)=1]\sum_{i=1}^n\sum_{d|i}[(d,i/d)=1]原创 2017-08-13 22:23:46 · 360 阅读 · 0 评论 -
[hdu6063]RXD and math
题目大意给你一个数学式子,要求计(zhao)算(chu)出(jie)来(lun)。显然任意数可唯一表示成a^2*b,其中μ(b)=1\mu(b)=1 式子相当于在枚举b,后面乘的系数是a的范围。 那么每个数都被算一次,答案是n^k。#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using name原创 2017-08-21 16:12:16 · 480 阅读 · 0 评论 -
[LibreOJ β Round #4]求和
题目大意∑ni=1∑mj=1μ2((i,j))\sum_{i=1}^n\sum_{j=1}^m\mu^2((i,j))反演∑ni=1μ(i)∗∑n/id=1μ2(d)∗(n/id)∗(m/id)\sum_{i=1}^n\mu(i)*\sum_{d=1}^{n/i}\mu^2(d)*(n/id)*(m/id) 可以发现后面在容斥,结果是(n/i/i)∗(m/i/i)(n/i/i)*(m/i/i)原创 2017-09-04 22:40:58 · 684 阅读 · 0 评论 -
Psy
题目大意一个字符集为0~9的长度为n的数字串,f(n)为其本身的字典序在所有后缀中是严格最小的字符串的数量。 求∑ni=1f(i)∗i2\sum_{i=1}^nf(i)*i^2结论我们发现一个有周期的串的本身不可能是严格最小后缀。 对于没有周期的串,当做循环串来看,可以转出n个不同的字符串,一定只有一个能被算入f(n)。 可以知道f(n)是没有周期的串个数除以n。 f(n)=∑d|nμ(d)原创 2017-11-23 15:32:20 · 720 阅读 · 0 评论 -
[51nod 1222]最小公倍数计数
题目大意求有多少对a和b满足a<=b且l<=[a,b]<=r数论题区间[l,r]答案等于[1,r]-[1,l-1] a<=b暂且不考虑。为了方便,接下来都不写下取整,出现除法即为整除。 ∑ni=1∑nj=1[ij(i,j)<=n]\sum_{i=1}^n\sum_{j=1}^n[\frac{ij}{(i,j)}<=n] ∑nd=1∑ni=1∑nj=1[(i,j)=d]∗[ijd<=n]\sum原创 2017-01-17 22:35:51 · 691 阅读 · 0 评论 -
[bzoj4305]数列的gcd
题目描述给出一个长度为N的数列{a[n]},1<=a[i]<=M(1<=i<=N)。 现在问题是,对于1到M的每个整数d,有多少个不同的数列b[1], b[2], …, b[N],满足: (1)1<=b[i]<=M(1<=i<=N); (2)gcd(b[1], b[2], …, b[N])=d; (3)恰好有K个位置i使得a[i]<>bi 注:gcd(x1,x2,…,xn)为x1原创 2017-02-16 17:27:11 · 784 阅读 · 0 评论 -
wyx
备注这题为啥叫wang yu xuan题目大意h[i]表示i的质因子的最大指数。现有ca组询问,每组给出n与m,ans=∑ni=1∑mj=1h[gcd(i,j)]ans=\sum_{i=1}^n\sum_{j=1}^mh[gcd(i,j)] ca<=10000,n,m<=10000000繁衍我们很容易可以筛出h数组。 我们设f[i]表示有多少对gcd为i,则莫比乌斯反演一下,我们易得 ans=原创 2016-01-08 20:30:28 · 1431 阅读 · 0 评论 -
莫比乌斯反演学习小记
莫比乌斯反演的标准形式f[n]=∑d|ng[d]f[n]=\sum_{d|n}g[d] 莫比乌斯函数μ[i]\mu[i],当i=1时为1,当i存在一个质因子指数大于1时为0,否则为-1的i的质因子个数次方。 则g[n]=∑d|nf[d]∗μ[nd]g[n]=\sum_{d|n}f[d]*\mu[\frac{n}{d}]莫比乌斯函数的性质与莫比乌斯反演的变形μ\mu是积性函数。根据这个性质我们可以原创 2016-01-09 16:09:26 · 1492 阅读 · 0 评论 -
[bzoj2693&bzoj2194]Crash的数字表格&jzptab
题目大意ans=∑i=1n∑j=1m[i,j]ans=\sum_{i=1}^n\sum_{j=1}^m[i,j] 求出ans并模一个数mo(两道题mo不同但都是常数,其中一个是质数另外一个不是) 两题的区别在于询问是否多组。 n,m<=10^7单组询问首先假设n<=mn<=m ans=∑i=1n∑j=1m[i,j]ans=\sum_{i=1}^n\sum_{j=1}^m[i,j] ans=原创 2016-03-15 14:12:01 · 826 阅读 · 3 评论 -
[bzoj2440][zsoi2011]完全平方数
题目大意找到从小到大第k个不含有平方因子的数。二分答案+容斥原理首先我们可以很容易想到二分答案,然后转化为一个判定性问题。 那么现在要解决的是如何求1~n内有多少不含平方因子的数。 可以想到容斥原理。 即ans=∑(−1)i∗n以内含有至少i个平方因子的数ans=\sum(-1)^i*n以内含有至少i个平方因子的数莫比乌斯函数观察上面的式子,转化一下 ans=∑√ni=1n/(i∗i)∗(−原创 2016-04-13 21:26:59 · 733 阅读 · 0 评论 -
[bzoj2818]gcd
题目大意求∑i=1n∑j=1n(i,j)是质数\sum_{i=1}^n\sum_{j=1}^n(i,j)是质数有趣方法很容易想到莫比乌斯反演啦,但本弱智打了另外的弱智方法。 我们知道对于j<ij<i,若有(i,j)=1,那么就有(i*k,j*k)=k。 也就是说只要k是质数就可以算进答案。 于是线性筛,筛出欧拉函数,并处理前缀质数个数。 那么i对于答案的贡献是phi(i)∗sum(n/i)p原创 2016-05-30 20:34:40 · 846 阅读 · 2 评论 -
求和
题目描述推一下∑i=1n∑j=1mμ(i)∗μ(j)∗∑d|ijd\sum_{i=1}^n\sum_{j=1}^m\mu(i)*\mu(j)*\sum_{d|ij}d 对于每一个d|ij,一定可以把d拆成d=ab满足a|i且b|j,我们可以考虑枚举a和b。因为一个d有多种拆法,为了避免重复,需保证(a,j/b)=1,因为如果(a,j/b)=k>1的话,a/k和bk也是一种合法答案。 还记得莫比乌原创 2016-07-07 20:01:00 · 538 阅读 · 0 评论 -
太阳神
题目描述太阳神拉很喜欢最小公倍数,有一天他想到了一个关于最小公倍数的题目。 求满足如下条件的数对(a,b)对数:a,b均为正整数且a,b<=n而lcm(a,b)>n。其中的lcm当然表示最小公倍数。答案对1,000,000,007取模推式子我们先做个补集转化。 然后就是统计这样的三元组(a,b,d)个数了 1、a*b*d<=n 2、(a,b)=1 a和b定了,d的取值就有nab\frac{原创 2016-11-09 21:14:45 · 13198 阅读 · 0 评论 -
[51nod 1223]分数等式的数量
题目大意有这样一个分数等式:1/X + 1/Y = 1/N,(X,Y,N > 0)。给出L,求有多少满足X < Y <= L的等式。 例如:L = 12,满足条件的等式有3个,分别是:1/3 + 1/6 = 1/2, 1/4 + 1/12 = 1/3, 1/6 + 1/12 = 1/4。数论题大师张俊不教我我不会。。 其实就是求多少对(a,b)满足a+b|ab 设d=(a,b),a1*d=a,原创 2016-12-12 22:10:45 · 752 阅读 · 0 评论 -
[51nod 1594]Gcd and Phi
题目大意求所有(i,j)满足1<=i<=n和1<=j<=n,phi(i)和phi(j)的gcd的欧拉函数值和。数论题挺简单的。 枚举gcd然后莫比乌斯反演一波。 接下来的式子中需要用到的均能够进行n log n预处理。 式子不太想写了, 可以看看代码。#include<cstdio>#include<algorithm>#include<cmath>#define fo(i,a,b) f原创 2016-12-12 22:13:32 · 721 阅读 · 0 评论 -
[51nod 1375]再选数
题目描述从前有n个正整数,我们令它为a[1]到a[n]。现在要从选出恰好k个数(如果k=-1则为选任意个数,但是至少选一个),要求这些数的最大公约数是1,问有多少种方案? 答案可能很大,模998,244,353输出。搞一发可以设f[x]表示选出恰好k个数gcd为x的方案数。 设g[x]表示选出恰好k个数gcd为x的倍数。 于是就可以莫比乌斯反演一发。 求f[1]即可。#include<cst原创 2016-12-08 17:34:34 · 501 阅读 · 0 评论 -
[2017集训队作业自选题#148]Simple Summation Problem
题目大意定义一个积性函数F。 若p为质数,F(pd)=pd−[d mod p!=0]F(p^d)=p^{d-[d\ mod\ p!=0]} 求F的前缀和。做法令G=F∗μG=F*\mu,那么G也是一个积性函数。 那么容易得到G(pd)=pd−[d mod p!=0]−pd−1−[(d−1) mod p!=0]G(p^d)=p^{d-[d\ mod\ p!=0]}-p^{d-1-[(d-1)\原创 2017-12-21 21:20:48 · 901 阅读 · 0 评论