Codeforces Canda Cup 2016

Codeforces Canda Cup 2016A、B:模拟C、构造下就行了D、题意:n个参加ACM的队(n<=300000),每个队都有自己的初始气球数和重量,规定如果气球数>重量,那么此队就会飞起来,淘汰出局,你现在是第一组,你可以给其他组气球,问你最高能排名多少,你的排名是气球数严格大于你气球数的队伍数+1。 分析:贪心的想法,将那些气球数大于你的队伍放在优先队列里维护wi-ti的最小值,优先淘汰wi-ti小的…

A、B:模拟

C、构造下就行了

D、题意:n个参加ACM的队(n<=300000),每个队都有自己的初始气球数和重量,规定如果气球数>重量,那么此队就会飞起来,淘汰出局,你现在是第一组,你可以给其他组气球,问你最高能排名多少,你的排名是气球数严格大于你气球数的队伍数+1。

   分析:贪心的想法,将那些气球数大于你的队伍放在优先队列里维护wi-ti的最小值,优先淘汰wi-ti小的队伍,给他气球的同时,你也会气球减少,也就可能有其他你后面的队伍比你高,这些队要新加入优先队列。

      具体的操作是将所有队伍按照气球多少从小到大排序,从后往前扫,扫到当前气球数<你的气球数为止,将后面的这些加入优先队列。取出最小的淘汰他,再将指针往前移动,看看是否能有新的进入优先队列,直至扫完并且优先队列出队完毕。在这个过程中,优先队列的长度一直都在变化,其中长度的最小值+1就是你的最好排名了。

转载于:https://www.cnblogs.com/wmrv587/p/5991554.html

今天的文章Codeforces Canda Cup 2016分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10365.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注