容斥原理——hdu2841
记得要开ll
/*
莫比乌斯反演模板题,也可以直接算phi来做
容斥的解法
求x[1..m],在[1,n]中和其互质的数的个数即可
那么就是n-和x不互质的数个数即可
*/
#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define maxn 100005
#define ll long long
vector<int>fac[maxn];
ll n,ans;
void init(){//质因子分解,埃氏筛
for(int i=;i<=;i++){
if(fac[i].size())continue;
fac[i].push_back(i);
for(int j=;j*i<=;j++)
fac[i*j].push_back(i);
}
}
//枚举的m,在m的质因子里的位置pos,当前的因数num,步长
void dfs(int m,ll pos,ll num,int cnt){
//cout<<fac[m].size()<<'\n';
if(num>n)return;
if(pos==fac[m].size())return;
if(cnt%)ans+=n/num;
else ans-=n/num;
for(int i=pos+;i<fac[m].size();i++)
dfs(m,i,num*fac[m][i],cnt+);
}
int main(){
init();
int m,t;
cin>>t;while(t--){
cin>>m>>n;
ans=n;//x==1时
for(int i=;i<=m;i++)dfs(i,-,,);
cout<<ans<<endl;
}
}
容斥原理——hdu2841的更多相关文章
- HDU2841 Visible Trees(容斥原理)
题目..大概就是有个m*n个点的矩形从(1,1)到(m,n),问从(0,0)出发直线看过去最多能看到几个点. 如果(0,0)->(x,y)和(0,0)->(x',y')两个向量平行,那后面 ...
- HDU2841 Visible Trees (容斥原理)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2841 题意: 一个人在(0,0)点,然后前面有一个m*n的格子 ,每一个格子的节点上有一棵树.问这个人 ...
- HDU2841(容斥原理)
Visible Trees Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 容斥原理应用(求1~r中有多少个数与n互素)
问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...
- hdu4059 The Boss on Mars(差分+容斥原理)
题意: 求小于n (1 ≤ n ≤ 10^8)的数中,与n互质的数的四次方和. 知识点: 差分: 一阶差分: 设 则 为一阶差分. 二阶差分: n阶差分: 且可推出 性质: 1. ...
- hdu2848 Visible Trees (容斥原理)
题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3028 Solved: 1460[Submit][Sta ...
- ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)
二进制枚举+容斥原理+中国剩余定理 #include<iostream> #include<cstring> #include<cstdio> #include&l ...
随机推荐
- taskFactory
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- JAVA IntelliJ IDEA for mac/jdk的安装及环境配置、运行
现在配置完之后再回头看看,其实挺简单, 但我还是弄了好几个小时才配置出来, 不过好在是自己配置出来的, 每天都在慢慢进步. 安装及配置步骤如下: JAVA的IDE的话去jetbrains的官网上对应下 ...
- ES6 学习 -- Class
Class的基本语法(1)// 定义类class Point { test() { console.log("hello test"); }}通过 new 定义好的类即可生成一个类 ...
- vue created与activated的区别
搬运自:https://www.cnblogs.com/goloving/p/9256212.html 使用<keep-alive>会将数据保留在内存中,如果要在每次进入页面的时候获取最新 ...
- yii2 返回json和文件下载
JSON 調用的控制器返回 json格式的數據即可,對json裡面的數據沒有要求 如在控制器中添加一個方法: public function actionRemoveImage($id){ Yii:: ...
- vue type check failed for prop . Expected Number, got String
代码是:fileNumLimit接收的类型是Number <vue-upload fileNumLimit='100'/> 改为 <vue-upload :fileNumLimit= ...
- C(n,m)的奇偶性判断
C(n,m)的奇偶性判断奇数:当且仅当(n&m)==m偶数:否则为偶数证明:根据卢卡斯定理,c(n,m)%2=c(n%2,m%2)*c((n>>1),(m>>1))%2 ...
- xampp只允许本地访问,禁止远程访问
远程访问phpmyadmin的时候出现错误 New XAMPP security concept: Access to the requested object is only available f ...
- 服务器断过一次电之后,mysql启动不了了
公司内部服务器,周末会直接拉闸断电,之前也没问题,但这次回来发现mysql启动不了了. service mysqld start 提示: Starting MySQL.The server quit ...
- HTML5: 实现调用系统拍照或者选择照片并预览
ylbtech-HTML5: 实现调用系统拍照或者选择照片并预览 1.返回顶部 1. <!DOCTYPE html> <html> <head> <meta ...