hdu1796(二进制容斥原理基本运用)
来源:互联网 发布:身份证被别人注册淘宝 编辑:程序博客网 时间:2024/05/16 00:39
给出n,和m个数,求小于n,且可以被m个数中任意一个整除的数有哪些?
就二进制枚举哪些数,然后取最小公倍数,搞一搞就可以了
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define ll long longusing namespace std;ll n,m,a[20];ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}int main(){while (scanf("%lld%lld",&n,&m)!=EOF){n--;int h=1;for (int i=1;i<=m;i++){scanf("%lld",&a[h]);if (a[h]!=0)h++;}m=h-1;ll ans=0,k,id;for (int i=1;i<(1<<m);i++){k=1;id=0;for (int j=0;j<m;j++) if (i&(1<<j)) id++,k=(a[j+1]/gcd(a[j+1],k)*k);//注意一定是要去最小公倍数,不是倍数!!!!!!!!if (id&1) ans+=n/k;else ans-=n/k; }printf("%lld\n",ans);}return 0;}
0 0
- hdu1796(二进制容斥原理基本运用)
- 容斥原理(枚举二进制)-HDU1796(重)
- hdu1796(容斥原理)
- hdu1796(容斥原理)
- 数学 hdu1796(容斥原理+dfs) / (容斥原理+二进制枚举)
- hdu1796(容斥原理)
- hdu1796容斥原理
- HDU1796(数论,容斥原理)
- hdu1796(容斥原理+最大公约数+DFS)
- 互素,容斥原理,HDU4135 POJ2407 HDU1796
- HDU1796(容斥)
- hdu1796容斥
- HDU1796 简单容斥
- hdu1796--How many integers can you find(容斥原理)
- hdu1796 How many integers can you find(容斥原理裸)
- hdu1796(容斥原理模板,三种方法实现)How many integers can you find
- hdu1796 How many integers can you find----容斥原理
- hdu1796--How many integers can you find--容斥原理
- 嵌入式概述
- eclipse中maven项目jar包不在同一个目录下
- Android APK版本升级设计
- 危机十足站长的生命觉悟:拼命也得每天挤一滴墨水!
- phpCMS 使用总结
- hdu1796(二进制容斥原理基本运用)
- java多线程基础(2)-调度方式之暂停当前线程方式1-阻塞
- SQLServer 表被锁
- CISCO路由器配置防止DDOS攻击
- Linux上安装JDK环境变量配置
- 验证码无法显示,服务器端出现异常:Could not initialize class sun.awt.X11GraphicsEnvironment
- iOS多显示器编程指导
- HTML <meta> 标签 遇到<meta http-equiv="refresh" content="0; url=">详解
- windows10 安装zookeeper