【题解】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出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...
随机推荐
- Markdown的学习笔记一
之前学习看些书籍.学些技术都喜欢用xmind做思维导图的笔记,慢慢的发现想把一些笔记做的详细一些就会变得很复杂,个人觉得误了思维导图本意,而且用手机查看的时候也各种不方便.所以开始学习使用markdo ...
- AJPFX平台:中国的经济是个大泡沫吗?这个泡沫即将崩解吗?
AJPFX问:中国的经济是个大泡沫吗?这个泡沫即将崩解吗? 这一老问题,最近又一次引起世界的关注. 首先,中国在领导层变更之际,把2013年的增长目标定为7.5%,“保八”的调子不再,两位数高增长的时 ...
- linux03
linux day31.正则表达式 \* ------重复0无数次 \+ ------重复1 无数次 ^ -------开头 $ -------结尾 | ------或 & ----- 与 ( ...
- FunDA(16)- 示范:整合并行运算 - total parallelism solution
在对上两篇讨论中我们介绍了并行运算的两种体现方式:并行构建数据源及并行运算用户自定义函数.我们分别对这两部分进行了示范.本篇我准备示范把这两种情况集成一体的并行运算模式.这次介绍的数据源并行构建方式也 ...
- spring cloud学习(二) 调用服务
spring-cloud调用服务有两种方式,一种是Ribbon+RestTemplate, 另外一种是Feign. Ribbon是一个基于HTTP和TCP客户端的负载均衡器,其实feign也使用了ri ...
- spring cloud学习(一) 服务注册
首先spring-cloud相关的简介可以去百度搜索,这里就不多说了,这里分享一个翻译spring cloud官网的中文网站spring cloud中文网 这个学习项目的代码放在 https://gi ...
- 文件分享系统(Django)
- JDK提供的四种线程池代码详解
一.线程池什么时候使用,会给我们带来什么好处? 如果很多用户去访问服务器,用户访问服务器的时间是非常短暂的,那么有可能在创建线程和销毁线程上花费的时间会远远大于访问所消耗的时间,如果采用线程池会使线程 ...
- Identity Server4学习系列二之令牌(Token)的概念
1.简介 通过前文知道了Identity Server4的基本用途,现在必须了解一些实现它的基本细节. 2.关于服务端生成Token令牌 头部(Header): { “typ”: “JWT”, //t ...
- iconfont 批量把图标加入购物车的方法
在浏览器中按 f12 打开[开发人员工具],找到[console(控制台)],输入以下代码,再按回车,稍等片刻即可把全部图标加入购物车 var ll = document.getElementsByC ...