[POI2007]ZAP-Queries 莫比乌斯反演(模板)
原题:https://www.luogu.org/problemnew/show/P3455
题解:莫比乌斯反演是这样的
整除分块
- 要求的值时,通过打表可以发现会有很多相同的块:
1 2 3 4 5 6 7 8 9 10 10 5 3 2 2 1 1 1 1 1
for(ll l=1,r;l<=min(a,b);l=r+1){r=n/(n/l)ans+=(r-l+1)*(n/l); }
莫比乌斯反演
- 有
- 有
- μ(1)=1
- 当x=p1*p2*p3*p4*...*pn μ(x)=(-1)^n
- 其余情况为0
要求。设:f(n)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=220000;
ll pri[N],mu[N],sum[N],a,b,d;
bool mark[N];
int cas,cnt;
void init(){mu[1]=1;ll n=55000;//线性筛素数和mu函数 for(ll i=2;i<=n;i++){if(!mark[i]) pri[++cnt]=i,mu[i]=-1;for(ll j=1;j<=cnt && pri[j]*i<=n;j++){mark[i*pri[j]]=1;if(i%pri[j]==0) break;mu[i*pri[j]]=-mu[i]; }}for(int i=1;i<=n;i++) sum[i]=sum[i-1]+mu[i];
}
ll sol(ll a,ll b,ll d){ll ans=0;for(ll l=1,r;l<=min(a,b);l=r+1){r=min(a/(a/l),b/(b/l));ans+=(sum[r]-sum[l-1])*(a/(l*d))*(b/(l*d));}return ans;
}
int main(){
// freopen("test.in","r",stdin);init();scanf("%d",&cas);while(cas--){scanf("%lld%lld%lld",&a,&b,&d);printf("%lld\n",sol(a,b,d));}return 0;
}
[POI2007]ZAP-Queries 莫比乌斯反演(模板)相关推荐
- luogu P3455 [POI2007]ZAP-Queries (莫比乌斯反演 + 整除分块)
整理的算法模板合集: ACM模板 题目传送门 本题中数据为5e4,我们只需要筛一次5e4就行了. 双倍经验的P4450 双亲数中数据达到了1e6,我们直接筛1e6的莫比乌斯函数有点不可取,因为只有一组 ...
- 【算法笔记】莫比乌斯反演(包含定理,两种形式的证明及入门经典模板)
整理的算法模板合集: ACM模板 目录 一.莫比乌斯反演 二.几个概念和定理 三.两种形式的莫比乌斯反演证明 四.POJ 3904 Sky Code(入门例题) 一.莫比乌斯反演 学习笔记,我是看这个 ...
- HYSBZ - 2818 Gcd —— 莫比乌斯反演
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Submit: 8172 Solved: 3609 Description 给定整数N,求1&l ...
- BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )
求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...
- 莫比乌斯函数(bzoj 1101: [POI2007]Zap)
莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292 课件:https://wenku.baidu.com/view/fbec ...
- 模板 - 莫比乌斯反演(常用技巧)
整理的算法模板合集: ACM模板 目录 莫比乌斯反演 常用技巧 经典模板例题 莫比乌斯反演 莫比乌斯函数: μ(n)={0∃i∈[1,m],Ci>1(−1)m∀i∈[1,m],Ci=1\mu(n ...
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块) 手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csd ...
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+分块)
URL: (Luogu)https://www.luogu.org/problem/show?pid=3455 (BZOJ)http://www.lydsy.com/JudgeOnline/probl ...
- 模板:莫比乌斯反演(数论)
文章目录 前言 整除分块 代码 积性函数 线性筛 狄利克雷卷积 莫比乌斯反演 trick 所谓莫比乌斯反演,就是莫比乌斯进行的反演 (逃) 前言 在一些需要整除的式子和 gcd,lcm\gcd,\ ...
最新文章
- Debian Linux下安装配置 Pure-ftpd
- 【Go语言】【14】GO语言的接口类型
- 计算机安全专家建议:尽快为电脑升级打补丁
- Linux下编译Jsoncpp
- 【JAVA SE】第十六章 进程、线程、同步锁和线程锁的简介
- Infortrend大数据时代广电行业应用
- Direct3D 9学习笔记(3)基本顶点绘制
- 常用工具下载及在线地址
- SQLMAP安装及使用教程
- 水晶报表CrystalReports很强大也很简单!
- 电视机计算机无法退出,怎么强制退出恢复模式-各大主流智能电视强制恢复出厂汇总!轻松解决疑难杂症...
- pentaho java代码_将Pentaho移植到Eclipse_ee里运行
- 破解电信中兴ZXV10 H618C超级密码telecomadmin
- esp8266 nvs应用
- JAVA EE框架课程考点复习(大题和判断题)
- 2020秋季C语言综合练习题(节选)
- [渝粤教育] 南京工业大学 有机化学实验 参考 资料
- linux 下生成docx,linux下创建、删除文件和文件夹命令.docx
- Ciclop开源3D扫描仪软件---Horus编译过程
- mini2440的pwm驱动程序和测试程序详解