题意

就是给出一个整数n,一个具有m个元素的数组,求出1-n中有多少个数至少能整除m数组中的一个数

(1<=n<=10^18.m<=20)

题解

这题是容斥原理基本模型。

枚举n中有多少m中元素的个数,在结合LCM考虑容斥。

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const long long N=;
long long a[N],n,m,ans;
long long gcd(long long x,long long y){
if(y==)return x;
else return gcd(y,x%y);
}
long long lcm(long long x,long long y){
return x/gcd(x,y)*y;
}
void dfs(long long now,long long num,long long res,long long k){
if(res==){
if(num==)return;
long long tmp=n/num;
if(k&)ans+=tmp;
else ans-=tmp;
return;
}
if(now==m+)return ;
if(lcm(num,a[now])<=n)dfs(now+,lcm(num,a[now]),res-,k);
dfs(now+,num,res,k);
}
int main(){
while(scanf("%lld%lld",&n,&m)!=EOF){
n--;
for(long long i=;i<=m;i++)scanf("%lld",&a[i]);
for(long long i=;i<=m;i++)dfs(,,i,i);
printf("%lld\n",ans);
}
}

最新文章

  1. Hadoop的学习--安装配置与使用
  2. PHP 版本判断 version_compare() 函数
  3. MySql怎样去掉某个字段最后的逗号或最后的字
  4. NET 强签名
  5. spring boot初探
  6. Orchard创建自定义表单
  7. rwsr-sr-x类似权限设置
  8. 《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
  9. PHP 中和 HTTP 相关的函数及使用
  10. 使用PHP发送邮件
  11. ASP.NET防止用户多次登录的方法
  12. Goffi and Squary Partition
  13. 自定义按钮~自适应布局~常见bug
  14. Redis进阶实践之十八 使用管道模式加速Redis查询
  15. [SDOI 2010]魔法猪学院
  16. ajax 文件下载
  17. centos7安装python3 以及tab补全功能
  18. gitlab 之 cicd
  19. 使用vendor管理go第三方包
  20. 快讯:微软安卓版个人助理(Cortana)在美国境内进行公測

热门文章

  1. PhotoZoom正式版和试用版的区别是什么?
  2. ZBrush中如何做不同图案的遮罩
  3. TF基础3
  4. Pyhton学习——Day10
  5. Django配置MariaDB数据库
  6. JS 日历
  7. thinkPHP利用ajax异步上传图片并显示、删除
  8. axios统一拦截配置
  9. Hibernate类没有找到序列化器解决方案
  10. Golang-import-introduce