最近好弱做什么题目都是做一晚上
这是合肥站炼铜后遗症?
这题就是贪心
我已开始还写了1小时………三分…………….

#include<bits/stdc++.h>
using namespace std;
#define sz(X) ((int)X.size())
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int N = 3e5+5; struct Node{
int id; ll t, w;
}p[N];
bool cmp1(Node a,Node b) {
if(a.t != b.t) return a.t < b.t;
else return a.id > b.id;
}
int main(){
int n;
while(~scanf("%d",&n)) {
priority_queue<ll,vector<ll>,greater<ll>> Q;
for(int i = 1; i <= n; ++i) {
scanf("%lld %lld",&p[i].t,&p[i].w); p[i].id = i;
}
int ans = INF;
int tmp = 1;
sort(p+1, p+n+1,cmp1); int fl = 0;
ll ret = 0; ll pre;
for(int i = n; i >= 1; --i) {
if(fl) {
ret += pre - p[i].t;
if(pre == p[i].t) {
tmp ++; Q.push(p[i].w - p[i].t + 1);
continue;
}
pre = p[i].t;
while(!Q.empty()) {
ll x = Q.top();
if(x > ret) break;
Q.pop(); ret -= x; tmp --;
}
ans = min(ans, tmp);
tmp ++; Q.push(p[i].w-p[i].t+1);
}else {
if(p[i].id == 1) {
fl = 1; ans = min(ans, tmp);
pre = p[i].t;
}else {
Q.push(p[i].w-p[i].t+1);
// if(n == 7) printf("%lld %d\n",p[i].t,tmp);
tmp ++;
}
}
} ret += pre;
while(!Q.empty()) {
ll x = Q.top();
if(x > ret) break;
Q.pop(); ret -= x; tmp --;
}
ans = min(ans, tmp); printf("%d\n", ans);
}
return 0;
}

Canada Cup 2016 D. Contest Balloons的更多相关文章

  1. Canada Cup 2016 D. Contest Balloons 好题。优先队列 + 简单贪心

    http://codeforces.com/contest/725/problem/D 这题一看就是贪心的了,w - t最小的那个,肯定是优先打死. 但是一直都不会写,为什么呢,因为这个太像二分答案了 ...

  2. 【Codeforces Round 725】Canada Cup 2016

    模拟Canada Cup 2016,ABC三题,Rank1376 第三题卡住了 Codeforces 725 C 求出两个相同字符的位置,记为x和y. 然后考虑把相同的那个字符放在第一行的什么地方, ...

  3. Canada Cup 2016 C. Hidden Word 构造模拟题

    http://codeforces.com/contest/725/problem/C Each English letter occurs at least once in s. 注意到题目有这样一 ...

  4. Codeforces Canada Cup 2016

    A. Jumping Ball time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  5. Canada Cup 2016 C. Hidden Word

    C. Hidden Word time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  6. CodeForces Canada Cup 2016【A,B,C,D】

    CodeForces 725A: 思路就是如果"最左"不是'>'这个了,那么这个右边的一定不可能到达左边了: 同理最右: CodeForces 725B: 有两个空姐,一个从 ...

  7. codeforces 725D . Contest Balloons(贪心+优先队列)

    题目链接:codeforces 725D . Contest Balloons 先按气球数从大到小排序求出初始名次,并把名次排在第一队前面的队放入优先队列,按w-t-1值从小到大优先,然后依次给气球给 ...

  8. Contest Balloons

    Contest Balloons 题目链接:http://codeforces.com/problemset/problem/725/D 贪心+枚举 每次在排名在自己前面的选出w-t值最小的送气球,更 ...

  9. CodeForces - 725D Contest Balloons 贪心

              D. Contest Balloons          time limit per test 3 seconds         memory limit per test 2 ...

随机推荐

  1. Java 常用List集合使用场景分析

    Java 常用List集合使用场景分析 过年前的最后一篇,本章通过介绍ArrayList,LinkedList,Vector,CopyOnWriteArrayList 底层实现原理和四个集合的区别.让 ...

  2. UOJ#77. A+B Problem [可持久化线段树优化建边 最小割]

    UOJ#77. A+B Problem 题意:自己看 接触过线段树优化建图后思路不难想,细节要处理好 乱建图无果后想到最小割 白色和黑色只能选一个,割掉一个就行了 之前选白色必须额外割掉一个p[i], ...

  3. COGS 2479. [HZOI 2016]偏序 [CDQ分治套CDQ分治 四维偏序]

    传送门 给定一个有n个元素的序列,元素编号为1~n,每个元素有三个属性a,b,c,求序列中满足i<j且ai<aj且bi<bj且ci<cj的数对(i,j)的个数. 对于100%的 ...

  4. gitlab项目迁移

    ALL Git* => Gitlab Nothing, Just copy the git URL to gitlab(类似于 fork) 使用 Git Mirror 無痛轉移 Git Serv ...

  5. 读取Pdm文件内容(含源码)

    Pdm文件,就是PowerDesigner软件生成的文件,用来设计数据库表结构非常适合.其实,它的文件存储格式就是Xml,网上有很多代码,可以读取pdm文件内容.代码可以使用,但一般只能读取简单的pd ...

  6. dubbo filter实现接口认证springboot idea

    最近公司有业务需求,要对Dubbo接口调用者进行身份验证,验证通过才能调用,网上一些资料不够全面,遂整理了一下. 在provider方定义一个filter,需要实现com.alibaba.dubbo. ...

  7. C#中引用变量是否应该加ref?

    看如下代码:   void Test(T t); void Test(ref T t); 当T是值类型的时候,很好判断,第一种并不能改变方法外变量的值,需要第二种方法才可以.通过查看IL代码,可以看到 ...

  8. <url-pattern>/</url-pattern>和<url-pattern>/*</url-pattern>区别

    <url-pattern>/</url-pattern>表示的为只匹配/login和/demo后面不带.xxx的网页 <url-pattern>/*</url ...

  9. js中的isNaN()函数

    <html> <head> <script type="text/javascript" src="function.js"> ...

  10. Delphi 添加外部Form单元的方法!

    我用到的环境是 RAD Studio 10.2.2 有时候,需要把某个Form单元  添加到其他的工程!  此时,如果直接添加或者拖拉 .pas单元到目标工程,是无法把.pas包含的Form添加进去的 ...