记得要开ll

  1. /*
  2. 莫比乌斯反演模板题,也可以直接算phi来做
  3. 容斥的解法
  4. 求x[1..m],在[1,n]中和其互质的数的个数即可
  5. 那么就是n-和x不互质的数个数即可
  6. */
  7. #include<bits/stdc++.h>
  8. #include<vector>
  9. using namespace std;
  10. #define maxn 100005
  11. #define ll long long
  12. vector<int>fac[maxn];
  13. ll n,ans;
  14. void init(){//质因子分解,埃氏筛
  15. for(int i=;i<=;i++){
  16. if(fac[i].size())continue;
  17. fac[i].push_back(i);
  18. for(int j=;j*i<=;j++)
  19. fac[i*j].push_back(i);
  20. }
  21. }
  22. //枚举的m,在m的质因子里的位置pos,当前的因数num,步长
  23. void dfs(int m,ll pos,ll num,int cnt){
  24. //cout<<fac[m].size()<<'\n';
  25. if(num>n)return;
  26. if(pos==fac[m].size())return;
  27. if(cnt%)ans+=n/num;
  28. else ans-=n/num;
  29. for(int i=pos+;i<fac[m].size();i++)
  30. dfs(m,i,num*fac[m][i],cnt+);
  31. }
  32. int main(){
  33. init();
  34. int m,t;
  35. cin>>t;while(t--){
  36. cin>>m>>n;
  37. ans=n;//x==1时
  38. for(int i=;i<=m;i++)dfs(i,-,,);
  39. cout<<ans<<endl;
  40. }
  41. }

容斥原理——hdu2841的更多相关文章

  1. HDU2841 Visible Trees(容斥原理)

    题目..大概就是有个m*n个点的矩形从(1,1)到(m,n),问从(0,0)出发直线看过去最多能看到几个点. 如果(0,0)->(x,y)和(0,0)->(x',y')两个向量平行,那后面 ...

  2. HDU2841 Visible Trees (容斥原理)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2841 题意: 一个人在(0,0)点,然后前面有一个m*n的格子 ,每一个格子的节点上有一棵树.问这个人 ...

  3. HDU2841(容斥原理)

    Visible Trees Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  4. 容斥原理应用(求1~r中有多少个数与n互素)

    问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...

  5. hdu4059 The Boss on Mars(差分+容斥原理)

    题意: 求小于n (1 ≤ n ≤ 10^8)的数中,与n互质的数的四次方和. 知识点: 差分: 一阶差分: 设  则    为一阶差分. 二阶差分: n阶差分:     且可推出    性质: 1. ...

  6. hdu2848 Visible Trees (容斥原理)

    题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...

  7. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit] ...

  8. BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3028  Solved: 1460[Submit][Sta ...

  9. ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)

    二进制枚举+容斥原理+中国剩余定理 #include<iostream> #include<cstring> #include<cstdio> #include&l ...

随机推荐

  1. k8s 存储 nfs服务

    1.所有节点安装nfs yum install nfs-utils -y 2.配置nfs服务端,在master节点上 vim exports /data 10.0.0.0/24(rw,async,no ...

  2. java调用scala 查询hbase数据

    问题:将scala打成jar包,提供给java调用,但是java一直提示找不到类 实现功能:利用spark查询hbase数据,然后提供给外部接口调用 我的方式:spark查询Hbase用scala实现 ...

  3. 12-MySQL-Ubuntu-数据表的查询-数据准备和基本查询(一)

    一,数据准备 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1; -- ...

  4. 解决通过vmware克隆虚拟机后,无法上网的问题

    注意:如果源主机是CentOS 6.8,复制出来的机器会出现无法上网. 如果源主机是CentOS 7,复制出来的机器可以正常上网.复制后,只要改下IP地址即可上网. 出现该问题的原因是,我们克隆后,将 ...

  5. codis 使用

    1:Jedis与Redisson对比 2.1. 概况对比 Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持:Redisson实现了分布式和可扩展的Java数据 ...

  6. 在普通类中获取Spring管理的bean

    1.在项目中添加下面的类: import org.springframework.context.ApplicationContext; import org.springframework.cont ...

  7. Flutter 打包报错 : Unknown FLUTTER_BUILD_MODE: xxx

    概要 在集成flutter 工程之后,我们的工程在debug 和release 模式下都没什么问题,一切都很顺利.但是我们在打企业包的时候却出现了错误: Showing Recent Errors O ...

  8. js倒计时在移动端的应用

    在移动端测试倒计时,将时间转化为毫秒会在苹果手机上出现NaN ``` //在安卓上这样写可以获取到的 var date = '2017-06-12 13:12:13'; var time = new ...

  9. npm 安装vue 报错Failed at the chromedriver@2.46.0 install script 'node install.js'

    原因一般是下载源被封了,我们连接淘宝的下载源下载: npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/d ...

  10. pd.Panel转化成json,然后再还原回来

    在使用tornado的write时候有一个需求,是将panel转化成json;而接收端再将json还原成panel格式. 尝试了很久,终于实现了. panel1 =pd.Panel({"on ...