bzoj3529 - 数表 (莫比乌斯函数,树状数组) 题目 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和。给定 a , 计算数表中不大于 a 的数之和。 题解 先不考虑不大于a这一限制条件。 令f(x)f(x)为x的约数和,那么数...
洛谷P3704 [SDOI2017]数字表格(莫比乌斯函数) 题面传送门 题意: 求 n∏i=1m∏j=1fibgcd(i,j)∏i=1n∏j=1mfibgcd(i,j) TT 组测试数据,1≤T≤1031≤T≤103,1≤n,m≤1061≤n,m≤106 没啥好说的,直接推式子。 ans=n∏i=1m∏j=1fibgcd(i,j)=min(n,m)∏d=1n∏i=1m∏j=1fibd×[gcd...
事实上到了这一步之后就可以求解2154了,在求F(n,m)中分块,在求Ans(n,m)中也分块处理,这样的时间复杂度是O(sqrt(n)*sqrt(n))=O(n),用线性筛法求u(d)d^2(u(d)表示莫比乌斯函数),总复杂度仍然是O(n),但是这样没法做到快速支持多组查询,所以还要继续化简: 0ff41bd5ad6eddc44ad53b3e3bdbb6fd536...
做法:这题需要使用杜教筛+哈希表。 以下方括号[]表示若括号内式子为真,则该符号值为1,否则值为0。 首先我们设莫比乌斯函数前n项的和为f(n),即f(n)=∑ni=1μ(i),那么我们只需求f(b)−f(a−1)。使用∑d|nμ(d)=[n=1]来作进一步推导,我们可以先找到函数e(n)=[n=1]的前缀和,显然∑ni=1e...
二、欧拉函数筛 三、莫比乌斯函数筛 【素数筛】 1.直接判定质数 booljudgePrime(intnum ) {if(num <2)return0;inttmp =sqrt( num );for(inti=2; i <=tmp; i++)if(num % i ==0)return0;return1; } 2.素数普通筛 constintmaxn =1e7;boolisPrime[maxn+10];intprime[maxn+10];intcount =0...