51nod 1222 莫比乌斯反演
思路:
yhx找的反演题
题解已经烂大街了
#pragma GCC optimize("O3")
//By SiriusRen
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int mu[],prime[],vis[],tot;
void init(){
    mu[]=;
    for(int i=;i<=;i++){
        if(!vis[i])prime[++tot]=i,mu[i]=-;
        for(int j=;j<=tot&&i*prime[j]<=;j++){
            vis[i*prime[j]]=;mu[i*prime[j]]=-mu[i];
            if(i%prime[j]==){mu[i*prime[j]]=;break;}
        }
    }
}
ll f(ll n){
    ll res=;
    for(ll i=;i*i*i<=n;res-=,i++)
        for(ll j=i;i*j*j<=n;j++)
            res+=(n/i/j-j+)*-(i==j?(n/i/j-j)*:);
    return res;
}
ll solve(ll n){
    ll res=;
    for(ll i=;i*i<=n;i++)res+=mu[i]?mu[i]*f(n/i/i):;
    return (res+n)/;
}
int main(){
    init();ll a,b;
    scanf("%lld%lld",&a,&b);
    printf("%lld\n",solve(b)-solve(a-));
}
51nod 1222 莫比乌斯反演的更多相关文章
- 【51nod】1222 最小公倍数计数 莫比乌斯反演+组合计数
		
[题意]给定a和b,求满足a<=lcm(x,y)<=b && x<y的数对(x,y)个数.a,b<=10^11. [算法]莫比乌斯反演+组合计数 [题解]★具体 ...
 - 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)
		
[51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...
 - 51nod 1237 最大公约数之和 V3【欧拉函数||莫比乌斯反演+杜教筛】
		
用mu写lcm那道卡常卡成狗(然而最后也没卡过去,于是写一下gcd冷静一下 首先推一下式子 \[ \sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j) \] \[ \sum_{i= ...
 - [51Nod 1237] 最大公约数之和 (杜教筛+莫比乌斯反演)
		
题目描述 求∑i=1n∑j=1n(i,j) mod (1e9+7)n<=1010\sum_{i=1}^n\sum_{j=1}^n(i,j)~mod~(1e9+7)\\n<=10^{10}i ...
 - 51nod 1584 加权约数和 约数和函数小trick 莫比乌斯反演
		
LINK:加权约数和 我曾经一度认为莫比乌斯反演都是板子题. 做过这道题我认输了 不是什么东西都是板子. 一个trick 设\(s(x)\)为x的约数和函数. 有 \(s(i\cdot j)=\sum ...
 - 51nod 1355 - 斐波那契的最小公倍数(Min-Max 容斥+莫比乌斯反演)
		
vjudge 题面传送门 首先我们知道斐波那契数列的 lcm 是不太容易计算的,但是它们的 gcd 非常容易计算--\(\gcd(f_x,f_y)=f_{\gcd(x,y)}\),该性质已在我的这篇博 ...
 - 莫比乌斯反演/线性筛/积性函数/杜教筛/min25筛 学习笔记
		
最近重新系统地学了下这几个知识点,以前没发现他们的联系,这次总结一下. 莫比乌斯反演入门:https://blog.csdn.net/litble/article/details/72804050 线 ...
 - hdu1695 GCD(莫比乌斯反演)
		
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...
 - BZOJ 2154: Crash的数字表格 [莫比乌斯反演]
		
2154: Crash的数字表格 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 2924 Solved: 1091[Submit][Status][ ...
 
随机推荐
- LINUX-挂载一个文件系统
			
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载 ...
 - Spring核心技术(一)——IoC容器和Bean简介
			
IoC容器和Bean简介 这章包括了Spring框架对于IoC规则的实现.Ioc也同DI(依赖注入).而对象是通过构造函数,工厂方法,或者一些Set方法来定义对象之间的依赖的.容器在创建这些Bean对 ...
 - vue axios请求超时,设置重新请求的完美解决方法
			
//在main.js设置全局的请求次数,请求的间隙 axios.defaults.retry = 4; axios.defaults.retryDelay = 1000; axios.intercep ...
 - 【Codeforces 986B】Petr and Permutations
			
[链接] 我是链接,点我呀:) [题意] 题意 [题解] n为奇数时3n和7n+1奇偶性不同 n为偶数时也是如此 然后交换任意一对数 逆序对的对数的奇偶性会发生改变一次 求出逆序对 对n讨论得出答案. ...
 - 《Spring Boot 那些事》
			
<Spring Boot 那些事>----https://www.bysocket.com/?p=1124
 - 使用ajax传值,后台乱码
			
spring mvc,使用ajax传值,后台发现是乱码 解决方法: 后台的方法里加入 request.setCharacterEncoding("UTF-8"); 就行了 我前 ...
 - T1082 线段树练习3 codevs
			
http://codevs.cn/problem/1082/ 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 ...
 - Solidworks如何修改单位
			
文档属性-单位-修改成mm
 - Solid Edge如何快速装配,如何截取组装关系式
			
我们点击装配体的任意零件,下方将显示他的装配关系,由于一些零件的装配关系是固定的,比如螺栓,肯定要做一个面贴和,再做一个同轴,所以我们可以保存这些固有的步骤,不用再每次挨个点击这些装配关系. 点击 ...
 - 两种Linux下非交互式命令的实现
			
一.概述 在Linux环境,有多种实现自己主动化的脚本语言.如Shell.Python.Perl.Tcl等. Shell语言因与Shell外壳结合紧密,是最常见的实现自己主动化的脚本语言. 同一时候, ...