51nod1179 最大的最大公约数 乱搞
来源:互联网 发布:web前端设计软件 编辑:程序博客网 时间:2024/06/05 23:40
Solution
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注
给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。
(2 <= N <= 50000 , 1 <= S[i] <= 1000000)
Solution
显然O(n^2)的暴力是跑不过的,因此考虑从s的大小入手
我们可以倒着枚举答案,在桶里面看有多少个倍数,这样就是s*logs的了
其实我还在考虑二分能不能过,但是太水了就算了吧
Code
#include <stdio.h>#define rep(i,st,ed) for (int i=st;i<=ed;++i)#define drp(i,st,ed) for (int i=st;i>=ed;--i)#define max(x,y) ((x)>(y)?(x):(y))const int N=1000005;int c[N];int main(void) { int n; scanf("%d",&n); int lim=1; rep(i,1,n) { int x; scanf("%d",&x); ++c[x]; lim=max(lim,x); } drp(i,lim,1) { int cnt=0; for (int j=i;j<=lim;j+=i) { cnt+=c[j]; if (cnt>1) break; } if (cnt>1) {printf("%d\n",i); break;} } return 0;}
阅读全文
0 0
- 51nod1179 最大的最大公约数 乱搞
- 51nod1179 最大的最大公约数
- 51nod1179最大的最大公约数
- 51nod1179【思维】
- 最大的最大公约数 51Nod
- 51nod 1179:最大的最大公约数
- 51nod-1179-最大的最大公约数
- 51NOD 1179 最大的最大公约数
- 51nod:1179 最大的最大公约数
- 51nod-1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51Nod-1179 最大的最大公约数【暴力】
- 51nod 1179 最大的最大公约数
- 51Nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- 51nod 1179 最大的最大公约数
- mybatis 逆向工程 用xml配置文件生成mapper和po的方法
- Docker
- java学习之Map接口以及实现类HashMap,TreeMap的使用
- LeetCode.240 Search a 2D Matrix II
- [javase]抽象类(如果由始至终只有一个子类)
- 51nod1179 最大的最大公约数 乱搞
- Cookie手册
- Sqoop安装
- 菜鸟先飞之二维码zxing解析
- npm install出现包部分包不能下载解决方法
- ANDROID游戏开发大全 2012.pdf 免费下载
- spring 火推07
- 16秋计算机JAVA第七节课作业
- Android Studio 和 Unity3D 交互