贪心

  按T2(完成时限)排序,然后从前往后依次枚举

    如果sum+a[i].t1<=a[i].t2则加入

    如果来不及修这个建筑:

      如果当前这个建筑的维修时间t1比之前修过的建筑中耗时最长的耗时短,则替换一下

      否则跳过- -

    以上过程用一个堆(priority_queue)维护即可

SB了一下:pq默认是大根堆……sigh

 /**************************************************************
Problem: 1029
User: Tunix
Language: C++
Result: Accepted
Time:284 ms
Memory:2836 kb
****************************************************************/ //BZOJ 1029
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#define rep(i,n) for(int i=0;i<n;++i)
#define F(i,j,n) for(int i=j;i<=n;++i)
#define D(i,j,n) for(int i=j;i>=n;--i)
#define fi first
#define se second
using namespace std; int getint(){
int v=,sign=; char ch=getchar();
while(ch<''||ch>'') {if (ch=='-') sign=-; ch=getchar();}
while(ch>=''&&ch<='') {v=v*+ch-''; ch=getchar();}
return v*=sign;
}
/*******************tamplate********************/
const int N=;
typedef pair<int,int> pii;
pii a[N];
priority_queue<int> Q;
int main(){
// freopen("input.txt","r",stdin);
int n=getint();
F(i,,n){
a[i].se=getint(); a[i].fi=getint();
}
sort(a+,a++n);
int _sum=,ans=;
F(i,,n){
if (_sum+a[i].se<=a[i].fi){
_sum+=a[i].se;
Q.push(a[i].se);
ans++;
}
else if (Q.top()>a[i].se){
_sum=_sum-Q.top()+a[i].se;
Q.pop();
Q.push(a[i].se);
}
}
printf("%d\n",ans);
return ;
}

【BZOJ】【1029】【JSOI2007】建筑抢修的更多相关文章

  1. BZOJ 1029: [JSOI2007]建筑抢修 堆+贪心

    1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有 ...

  2. BZOJ 1029 [JSOI2007] 建筑抢修(贪心)

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 2285  Solved: 1004[Submit][Statu ...

  3. BZOJ 1029 [JSOI2007]建筑抢修 已更新

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 2748  Solved: 1213[Submit][Statu ...

  4. BZOJ 1029: [JSOI2007]建筑抢修

    1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有 ...

  5. BZOJ 1029: [JSOI2007]建筑抢修【优先队列+贪心策略】

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 4810  Solved: 2160[Submit][Statu ...

  6. BZOJ 1029 [JSOI2007]建筑抢修 (贪心 + 优先队列)

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 5452  Solved: 2422[Submit][Statu ...

  7. BZOJ 1029: [JSOI2007]建筑抢修 优先队列

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  8. BZOJ 1029: [JSOI2007]建筑抢修 贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落 ...

  9. [BZOJ 1029] [JSOI2007] 建筑抢修 【贪心】

    题目链接:BZOJ - 1029 题目分析 使用一种贪心策略. 现将任务按照deadline从小到大排序. 然后枚举每一个任务,如果当前消耗的时间加上完成这个任务的时间不会超过这个任务的deadlin ...

  10. BZOJ 1029 JSOI2007 建筑抢修 贪心+堆

    题目大意:n个建筑须要抢修.第i个建筑须要T1时间抢修.必须在T2时间之前抢修完成.求最多能抢修多少建筑 首先我们对T2排序 然后依次修理 可是这样贪心显然是不对的 比方说这组数据: 5 10 10 ...

随机推荐

  1. DNS服务器搭建

    注意正式运行的dns服务器主dns设置 中没有启用转发器,所以部分网页如taobao解析时可能很慢.开启转发器即可转发器地址指向电信dns. [root@master ~]# lsb_release ...

  2. ubuntu启动失败the system is running in low graphics mode

    ubuntu启动失败the system is running in lowg raphics mode 起因 ubuntu重新设置selinux的模式 修改配置文件/etc/selinux/conf ...

  3. centos7没有安装ifconfig命令的解决方法

    ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...

  4. Window下配置NodeJs环境详解

        今年打算学习Web这块,所以就买了本Node.js+MongoDb+AngularJS这本书,这周天也比较忙,想着录视频(拍小片,不是AV,不要误会,是在线课程)的事情,这周又将Asp.Net ...

  5. linux下开发板网络速度测试记录

        由于做的项目对于网络和USB的读写速度有很高的要求,因此新拿回来的板子要测试网络和usb的最佳传输速度.要考虑不少因素,先把我能想到的记录下来.     测试的环境是开发板和ubuntu虚拟机 ...

  6. JCrop+ajaxUpload 图像切割上传

    先看效果 需要的文件下载 链接:http://pan.baidu.com/s/1b8SI6M 密码:59ct 页面代码 里面用户的uuid是写死的test <%@ page language=& ...

  7. JS函数式编程【译】2.3 函数式程序员的工具集

  8. Windows 命令大全

    打开控制面板的方法:输入control,回车即可打开. 以下是“运行”里常见的命令: gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址 ...

  9. qt QLabel 显示网络图片

    在网上试了很多代码都不能使用,自己写了写代码. 直接上代码 Codevoid QMusicLogo::setNetworkPic(const QString &szUrl) { QUrl ur ...

  10. WindowsPhone8 数据库增删改查

    今天第一次在博客园发表文章,如果有的地方写的不对,还请大家指出! 1.这就是一个简单wp8数据库增删改查 1.创建数据表Person [Table] public class Person : INo ...