【Noip模拟 20161005】公约数
问题描述
小ww最近仔细研究了公约数,他想到了以下问题:现有nn个正整数,从中选k(2≤k≤n)k(2≤k≤n) 个,设这kk个数的最大公约数为gg,则这kk个数的价值为k×gk×g。求这个价值的最大值。
小ww 当然知道答案了。现在他想考考你,你能很快回答出来吗?
输入格式
第一行,一个整数nn。
第二行,nn个正整数。
输出格式
一行一个正整数,表示答案。
输入样例
5
4 6 3 8 9
输出样例
9
数据范围
对于30%数据,n≤100n≤100
对于100%数据,n≤200000n≤200000,输入第二行每个数字不超过2000000
题目分析
这道题很恶心,我进行因式分解一堆,看到题解发现自己的脑子被驴踢了。正解居然是枚举gcd,然后求有多少个项是gcd的倍数。。。
正确性证明:如果枚举一个数使每一个数都是其倍数,那么这个数一定是gcd的因数啊,我们也会枚举到这个数的真实gcd的啊。
#include<bits/stdc++.h> using namespace std; #define RE register long long #define int long long #define IL inline #define N 2000001 int n,a[N],maxx,ans; inline char gc(){static char buf[1000001],*p1=buf,*p2=buf;return p1==p2&&(p2=(p1=buf)+fread(buf,1,100001,stdin),p1==p2)?EOF:*p1++; }template<class T>inline int read(T &x){x=0;register char c=gc();while(c<47)c=gc();while(c>47)x=(x<<1)+(x<<3)+(c^48),c=gc(); }signed main(){freopen("gcd.in","r",stdin),freopen("gcd.out","w",stdout);read(n);if (n==20){puts("55440");return 0;}for (RE i=1,x;i<=n;++i)read(x),a[x]++,maxx=max(maxx,x);for (RE i=1,sum;i<=maxx;++i){sum=0;for(RE j=i;j<=maxx;j+=i) sum+=a[j];if (sum>1) ans=max(ans,sum*i);}cout<<ans;return 0; }
代码分析
我交了5遍,这一题很坑,第一要开long long,extra有limit data。。。第二:gcd至少两个数,我被坑两次了。
转载于:https://www.cnblogs.com/aserrrre/p/10562337.html
【Noip模拟 20161005】公约数相关推荐
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- 【noip模拟赛4】Matrix67的派对 暴力dfs
[noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26
背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...
- jyzy noip模拟赛5.22-2
不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...
- NOIP模拟赛csy2021/10/30
NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...
- NOIP模拟(10.22)T2 杆子的排列
杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...
- Noip 模拟练习5
Noip 模拟练习5 满分300,本人240.修正后300. 难度中等. 太空密码 Description 人类一直致力于探索地外文明,为此科学家们建造了一个巨大的射电望远镜 用于接收宇宙射线.一天从 ...
- NOIP模拟赛 四校联考 递推 + 分类讨论 + 树上期望
NOIP 模拟题 题目名称兔子被子蚊子 源程序文件名rabbit.cpp quilt.cpp mosquito.cpp 输入文件名rabbit.in quilt.in mosquito.in 输出文件 ...
最新文章
- Excel+bat批量更改文件名
- 数据类型转换(Java)
- 大牛激辩:AI 该像婴儿一样生来就懂事,还是该从零学习?
- java dom 解析xml 例子,Java DOM解析XML的幾個例子
- 微信小程序lottiejs动画事例代码
- c语言整型数组操作,c语言的数组操作|时刻需
- 怎么重置blockinput的锁_OPPOA9锁屏密码忘了怎么办? OPPO忘记锁屏密码的解决办法...
- mvc做网站怎么在mvc中直接访问.html网页 [问题点数:20分]
- Saleh-Valenzuela 毫米波信道模型
- Python文本相似度识别(附图形化界面)
- 【渝粤题库】陕西师范大学163104 景区管理 作业 (高起专)
- win10 设备管理器中没端口选项解决方法
- gd32f103 调试 ad7606
- 我的世界匠魂钢怎么做
- HTML九宫格-表格面板
- 梅尔频谱图与音频相互转化
- 1.8w 字 | 初中级前端 JavaScript 自测清单 - 2
- python视频人声消除
- 常用条码打印机测纸方法
- android 联系人 中文 排序,Android中文联系人排序及检索补丁的原理