【题解】LFYZNoip前水题赛 T6
垃圾出题人们在30分钟内完成了讨论,出题,命题,造数据,跑std的所有环节
luv的化学竞赛题
题目背景
luv_letters 在肝化学竞赛题,他的梦想是混个省一,但是遗憾的是他今年的省二莫名消失了。
题目描述
话说societyniu比较欠扁,他嘲讽luv_letters的省二他都能拿,luv_letters当然不服2333.于是打算搞几份卷子来考考他。
luv_letters有n种化竞卷子,第i种卷子有ai道题。但是societyniu写了太多题他又会不爽(其实是怕输了
于是他规定他只能做K份卷子,并且为了公平起见,K份卷子被写的题数都必须是相同的,societyniu规定这个题数就是这K份卷子的题数的最大公约数。
为什么是最大公约数呢?因为他觉得题数是GCD的话他才会变成GG 的clevel donkey。
之前说了,societyniu热爱理科 因此他希望K种卷子的题数和最大。你能告诉他他最后总共会做多少题么?
输入输出格式
输入格式:
第一行两个正整数n,k。
第二行n个正整数,表示每份卷子的题数。
输出格式:
输出一个正整数表示societyniu会做多少题。
输入输出样例
3 1
1 2 3
3
说明
对于30%的数据,保证k≤n≤20。
对于50%的数据,保证输入中所有数小于5000。
对于100%的数据,保证输入中所有数小于500000,k≤n。
比赛链接:https://www.luogu.org/problemnew/show/T56342
好吧,这是我出的一道巨水的题
很显然:
题目就相当于问n个数里面选出k个的最大公约数最大是多少。
对于30%的数据可以直接暴搜一发。(多爽
对于50%的数据...我也不知道(笑,你们可以试试各种玄学剪枝优化qwq
对于100%的数据,先开500000大的桶存下每个数出现了几次,
然后枚举最后的答案gcd,
然后再暴力枚举所有它的倍数,看出现次数是否大于等于k就可以了。
这样做的复杂度最坏是O(n+n/2+n/3+…+n/n)=O(nlnn)的。
自行百度调和级数求和
std:
1 #include <bits/stdc++.h>
using namespace std;
int n, k, x, m, cnt[];
inline int qread(){
register int ch=getchar(),x=;
while(!isdigit(ch)) ch=getchar();
while (isdigit(ch)) x=(x<<)+(x<<)+(ch^''),ch=getchar();
return x;
9 } //随手敲快读
int main(){
scanf("%d%d", &n, &k);
while(n--){
x=qread();
cnt[x]++; //开桶存数出现了几次
m= m<x?x:m;
}
for(int i=m,tmp;i;i--){
tmp = ;
for(int j=i;j<=m;j+=i){ //暴力枚举其所有倍数直接看是否大于K
tmp += cnt[j];
21 }
if(tmp>=k){
printf("%lld\n",(long long)i*k);
return ;
}
26 }
27 }
真的挺水的
也可以百度K-GCD
【题解】LFYZNoip前水题赛 T6的更多相关文章
- Codeforces Round #368 (Div. 2) A. Brain's Photos (水题)
Brain's Photos 题目链接: http://codeforces.com/contest/707/problem/A Description Small, but very brave, ...
- poj1564 Sum It Up dfs水题
题目描述: Description Given a specified total t and a list of n integers, find all distinct sums using n ...
- World Finals 2017 (水题题解)
看大佬做2017-WF,我这种菜鸡,只能刷刷水题,勉强维持生活. 赛后补补水题. 题目pdf链接,中文的,tls翻译的,链接在这里 个人喜欢在vjudge上面刷题. E Need for Speed ...
- Codeforces Round #524 (Div. 2)(前三题题解)
这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...
- Codeforces Round #519 by Botan Investments(前五题题解)
开个新号打打codeforces(以前那号玩废了),结果就遇到了这么难一套.touristD题用了map,被卡掉了(其实是对cf的评测机过分自信),G题没过, 700多行代码,码力惊人.关键是这次to ...
- PAT甲题题解-1012. The Best Rank (25)-排序水题
排序,水题因为最后如果一个学生最好的排名有一样的,输出的课程有个优先级A>C>M>E那么按这个优先级顺序进行排序每次排序前先求当前课程的排名然后再与目前最好的排名比较.更新 至于查询 ...
- Disillusioning #1 水题+原题赛(被虐瞎)
https://vijos.org/tests/542c04dc17f3ca2064fe7718 好一场 水题 比赛啊 t1直接上暴力费用流10分QAQ,虽然一开始我觉得可以不用的,直接dfs可以得出 ...
- Educational Codeforces Round 53 (Rated for Div. 2) (前五题题解)
这场比赛没有打,后来补了一下,第五题数位dp好不容易才搞出来(我太菜啊). 比赛传送门:http://codeforces.com/contest/1073 A. Diverse Substring ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
随机推荐
- Hibernate在PostgreSQL上执行sum函数导致数据失真的问题
有一段通过Hibernate从PostgreSQL上进行sum统计的简单代码,但统计结果却导致数据失真,不知原因何在,求指教! Java代码片段如下: public List<Object> ...
- 背水一战 Windows 10 (59) - 控件(媒体类): Image, MediaElement
[源码下载] 背水一战 Windows 10 (59) - 控件(媒体类): Image, MediaElement 作者:webabcd 介绍背水一战 Windows 10 之 控件(媒体类) Im ...
- 【转】C#中Serializable序列化实例详解
这篇文章主要介绍了C#中Serializable序列化,以实例形式详细讲述了系列化的技术及各种序列化方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#中Serializable序列化.分 ...
- IO相关1(io类/流状态)
IO类: iostream 定义了用于读写流的基本类型,fstream 定义了读写命名文件的类型,sstream 定义了读写内存 string 对象的类型. IO 库类型和头文件: 头文件 类型 io ...
- SQL Server 用户'NT AUTHORITY\IUSR' 登录失败
今天打开网站时,突然报这个错误,平时都好好的 Cannot open database "JMECC" requested by the login. The login fail ...
- 在没有任何投票节点情况下将从节点转换为Primary节点脚本
cfg={ "_id": "rs01", "version": 2, "protocolVersion": Number ...
- 【LeetCode】128. 最长连续序列
题目 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为O(n). 示例: 输入:[100, 4, 200, 1, 3, 2] 输出:4 解释:最长连续序列是[1, 2, 3, ...
- 微信端支付宝支付,iframe改造,解决微信中无法使用支付宝付款和弹出“长按地址在浏览器中打开”
微信对支付宝的链接屏蔽了, https://mapi.alipay.com/gateway.do?_input_charset=utf-8¬ify_url=http%3A%2F%2Fzh ...
- odoo datetime 直接修改模版语言 去掉时分秒
<field name='date_order' widget='date'/> 利用date widget即可使dateime类型的显示为date.
- 解决Navicat Premium终端操作mysql ONLY_FULL_GROUP_BY错误
解决navicate终端操作mysql ONLY_FULL_GROUP_BY错误 问题描述: [Err] 1055 - Expression #1 of SELECT list is not ...