BZOJ 3561 莫比乌斯反演

$\Sigma_{i=1}^n\Sigma_{j=1}^mlcm(i,j)^{gcd(i,j)}$
$=\Sigma_{i=1}^n\Sigma_{j=1}^m (\frac{i*j}{gcd(i,j)})^{gcd(i,j)}$
枚举gcd(i,j)=d
$=\Sigma_{d=1}^n\Sigma_{i=1}^{\lfloor \frac{n}{d}\rfloor}\Sigma_{j=1}^{\lfloor \frac{m}{d}\rfloor}(d*i*j)^d*(gcd(i,j)==1)$
$=\Sigma_{d=1}^n\Sigma_{i=1}^{\lfloor \frac{n}{d}\rfloor}\Sigma_{j=1}^{\lfloor \frac{m}{d}\rfloor}\Sigma_{k|i且k|j}(d*i*j)^d$
$=\Sigma_{d=1}^nd^d\Sigma_{t=1}^{\lfloor\frac{n}{d}\rfloor}\mu(t)[\Sigma_{i=1}^{\lfloor\frac{n}{dt}\rfloor}(it)^d\Sigma_{j=1}^{\lfloor\frac{m}{d}\rfloor}(jt)^d]$
$=\Sigma_{d=1}^nd^d\Sigma_{t=1}^{\lfloor\frac{n}{d}\rfloor}\mu(t)*t^{2d}[\Sigma_{i=1}^{\lfloor\frac{n}{dt}\rfloor}i^d\Sigma_{j=1}^{\lfloor\frac{m}{dt}\rfloor}j^d]$

时间: 2024-12-14 18:11:38

BZOJ 3561 莫比乌斯反演的相关文章

bzoj 2301 莫比乌斯反演

求$(i,j)=k$的一系列模板题之一. 但是这里i,j是有下界的,注意用容斥去掉重复组,其他都一样了. /** @Date : 2017-09-09 19:21:18 * @FileName: bzoj 2301 莫比乌斯反演 多组 范围内 GCD=k.cpp * @Platform: Windows * @Author : Lweleth ([email protected]) * @Link : https://github.com/ * @Version : $Id$ */ #inclu

BZOJ 2301 莫比乌斯反演入门

2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2 Sample Output 14 3此题作为我的莫比

bzoj 2154 莫比乌斯反演求lcm的和

题目大意: 表格中每一个位置(i,j)填的值是lcm(i,j) , 求n*m的表格值有多大 论文贾志鹏线性筛中过程讲的很好 最后的逆元我利用的是欧拉定理求解的 我这个最后线性扫了一遍,勉强过了,效率不是很高... 1 /*bzoj 2154*/ 2 #include <bits/stdc++.h> 3 4 using namespace std; 5 #define ll long long 6 #define N 10000000 7 const int MOD = 20101009; 8

bzoj 1101 莫比乌斯反演

最裸的莫比乌斯 #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define pii pair<int, int> using namespace std; const int N = 1e5 + 7; const int M = 1e6 + 7; const int inf = 0x3f3f3f3f; const LL INF

BZOJ 2820 莫比乌斯反演

思路: $\Sigma_{i=1}^n\Sigma_{j=1}^mgcd(i,j)==p(p是素数)$ $\Sigma_{p是素数}^{p<=n}\Sigma_{i=1}^{\lfloor \frac{n}{p} \rfloor}\Sigma_{j=1}^{\lfloor \frac{m}{p} \rfloor}gcd(i,j)==1$ 由$e=μ|1$可得$gcd(i,j)==1 等价于 \Sigma_{d|gcd(i,j)} μ(d)$ 所以原式为 $\Sigma_{p是素数}^{p<=n

BZOJ - 2818 莫比乌斯反演 初步

要使用分块的技巧 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<string> #include<vector> #include<stack> #include<queue> #include<

bzoj 2820 / SPOJ PGCD 莫比乌斯反演

那啥bzoj2818也是一样的,突然想起来好像拿来当周赛的练习题过,用欧拉函数写掉的. 求$(i,j)=prime$对数 \begin{eqnarray*}\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=p]&=&\sum_{p=2}^{min(n,m)}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{p}\rfloor}[i⊥j]\newline&=&\sum_{p=

bzoj 1101 [POI2007]Zap - 莫比乌斯反演

Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个 正整数,分别为a,b,d.(1<=d<=a,b<=50000) Output 对于每组询问,输出到输出文件zap.out一个正

BZOJ 2301: [HAOI2011]Problem b(莫比乌斯反演 + 容斥原理 + 分块优化)

传送门 Problem 2301. – [HAOI2011]Problem b 2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 3671  Solved: 1643[Submit][Status][Discuss] Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input