博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1414 又是毕业季II (多个数的最大公因数)
阅读量:5855 次
发布时间:2019-06-19

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

这道题其实不难,但是我想复杂了

我想的是把每个数质因数分解,然后每次就枚举每个质因数

来求最小公倍数。

然后想了想这样复杂度将会非常的大,肯定超时

然后看了题解发现不需要质因数分解,直接存因数的个数就好了
c[i]表示i这个因数出现的次数。
然后因为当k越小的时候答案越大(严格来说是大于等于),这是显而易见的,当数少了
之后对最大公因数的限制就越少。
所以我们可以把因数从大到小枚举,来求答案。

#include
#include
#include
#define REP(i, a, b) for(int i = (a); i < (b); i++)#define _for(i, a, b) for(int i = (a); i <= (b); i++)using namespace std;const int MAXN = 1e6 + 10;int c[MAXN], n, maxt, m, x;int main(){ scanf("%d", &n); _for(i, 1, n) { scanf("%d", &x); maxt = max(maxt, x); m = sqrt(x + 0.5); _for(i, 1, m) if(x % i == 0) { c[i]++; if(x != i * i) c[x/i]++; } } int ans = maxt; _for(i, 1, n) { while(c[ans] < i) ans--; printf("%d\n", ans); } puts(""); for(int i = maxt; i >= 1; i--) printf("%d\n", c[i]); return 0;}

 

转载于:https://www.cnblogs.com/sugewud/p/9819340.html

你可能感兴趣的文章
python httpstr find_Python string.rfind方法代碼示例
查看>>
java不是百分之百面向对象_java方法传值还是传引用的问题
查看>>
php语言源码安装教程,源码包安装php-Go语言中文社区
查看>>
php分享到微博,Wordpress怎么将选中内容分享到新浪微博
查看>>
php占市场份额,PHP 目前的市场占用率(Market Share)
查看>>
怎么写php扩展插件,php如何写插件
查看>>
wp-cron.php do=,WordPress使用WP-Cron函数定时执行任务
查看>>
php的常用标签有哪些,html标签元素有哪些种类?html的常用标签元素的介绍
查看>>
Ios php格式视频,IOS音频和视频(Audio & Video)
查看>>
php怎么设置input大小,js实现input输入框点击变大缩小
查看>>
java swing请求页面接口,java swing 远程调用接口
查看>>
java中file系统找不到指定的路径,java.io.FileNotFoundException:.\cfg\users(系统找不到指定的路径)...
查看>>
matlab如何清屏的运行,Matlab(1) -- Matlab清屏命令
查看>>
java集成kafka依赖包怎么导入,Kafka指南-源码导入Idea
查看>>
matlab 规律,01用PYTHON下载数据,而后用MATLAB编程探讨规律
查看>>
php 发布拼多多,拼多多补贴换增长的故事还能讲多久?
查看>>
matlab实现zca去白化,白化算法
查看>>
vs环境c++语言教学视频,基于VS Code的C++语言的构建调试环境搭建指南
查看>>
android 字符串转浮点,Android String类型转换为float、double和int的工具类方法
查看>>
android mobile wifi,华为mobile wifi 2下载-HUAWEI Mobile WiFi 2 安卓版v9.0.1.323-PC6安卓网
查看>>