博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZOJ-2836 Number Puzzle
阅读量:5154 次
发布时间:2019-06-13

本文共 976 字,大约阅读时间需要 3 分钟。

题意:给出N个数和M,求1到M的数中与给出的N个数有大于1的公共因子的数的个数。

思路:算是第一道容斥原理的题吧,1Y、^_^,神搜求最小公倍数奇数个相加、偶数个相减。

题目链接:

 

View Code
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 const int N=11;10 11 int n,m,sum;12 int a[N];13 14 int gcd(int a,int b){15 return b==0?a:gcd(b,a%b);16 }17 18 void dfs(int val,int s,int k,int cnt){19 if(cnt>k) return ;20 if(cnt==k){21 if(cnt%2) sum+=m/val;22 else sum-=m/val;23 return ;24 }25 for(int i=s+1;i<=n;i++){26 dfs(val*a[i]/gcd(val,a[i]),i,k,cnt+1);27 }28 }29 30 int main(){31 32 // freopen("data.in","r",stdin);33 // freopen("data.out","w",stdout);34 35 while(scanf("%d%d",&n,&m)!=EOF){36 for(int i=1;i<=n;i++) scanf("%d",&a[i]);37 sum=0;38 for(int i=1;i<=n;i++){39 dfs(1,0,i,0);40 }41 printf("%d\n",sum);42 }43 }

转载于:https://www.cnblogs.com/Hug-Sea/articles/2710489.html

你可能感兴趣的文章
【bzoj2819】Nim DFS序+树状数组+倍增LCA
查看>>
【bzoj1899】[Zjoi2004]Lunch 午餐 dp
查看>>
第7章 数组实验
查看>>
[转]Running JavaScript in an iOS application with JavaScriptCore
查看>>
SQL游标写入时触发
查看>>
两个应用的跳转
查看>>
Centos7,Docker-配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)...
查看>>
篮球赛总结
查看>>
c#获取本机ip地址|获取本机的本地上网IP地址
查看>>
jmeter(二十)JMeter中返回Json数据的处理方法
查看>>
redis cluster 实践总结
查看>>
Lua的require和module小结
查看>>
Linux 平均负载 Load Average 详解
查看>>
二叉树的建立和遍历
查看>>
关于JavaScript中连等赋值那点事
查看>>
路障【SPFA】
查看>>
【算法题10 不同路径问题】
查看>>
设计模式——工厂方法模式 和 抽象工厂模式
查看>>
遇到和需要解决的问题
查看>>
Openshift 和Harbor的集成
查看>>