尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

洛谷P7072 CSP-J 2020 直播获奖 题解

洛谷P7072 CSP-J 2020 直播获奖 题解 题目分析题目传送门由于最大数据n10^5,普通的排序会TLE所以可以考虑桶排序。此处默认大家都会桶排序我就不废话了哈如果有不会的可以放弃看一下这个链接感觉这个作者讲的很好。思路拆分因为是输入一个数据就输出一个分数线所以我们要在一个循环里做完读入排序计算分数线三个事。cinnw;for(inti1;in;i){intx;cinx;//读入数据接下来就是重头戏桶排计算先是桶排a[x];接下来是计算前多少名能获奖intymax(1,i*w/100);因为每一次都要有分数线所以y在1与i*w/100之间取最大值i为当前人数最后是确定分数线cnt0;for(intj600;j0;j--)//把桶倒序遍历从大往小扫描{if(a[j]!0)//排除无用桶{cnta[j];//计数if(cnty)//数到获奖人数{coutj ;//输出break;//结束进行下一个读入}}}完整代码#includebits/stdc.husingnamespacestd;intn,w,cnt;inta[605];intmain(){cinnw;for(inti1;in;i){intx;cinx;a[x];intymax(1,i*w/100);cnt0;for(intj600;j0;j--){if(a[j]!0){cnta[j];if(cnty){coutj ;break;}}}}return0;}
返回列表