博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 桶哥的问题——送桶——题解
阅读量:4318 次
发布时间:2019-06-06

本文共 1164 字,大约阅读时间需要 3 分钟。

 

一读题,发现与贪心中的任务调度有点类似。保证答案大于等于零,言外之意即为所有任务都可以在合法时间内完成。那么只要按照任务调度的思路做就行了:

用结构体(方便sort)数组t读入所有ai、bi后按照结束时间从大到小排序。设ans为答案,i为当前要处理的任务在排序后的编号。ans初始为t[1].b,i=1,2,…,n。

对于每个i:1、若ans比第i号任务的截止时间晚,则让ans等于该任务的截止时间;

      2、ans-=第i号任务的耗时。

最后ans的值即为答案。

AC代码:

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 struct tong{ 8 int a,b; 9 }t[1000001];10 int ans;11 char ch;12 inline int read()13 {14 ans=0;15 ch=getchar();16 while(!isdigit(ch)) 17 ch=getchar();18 while(isdigit(ch)) ans=(ans<<3)+(ans<<1)+ch-'0',ch=getchar();19 return ans;20 }21 inline bool cmp(tong a,tong b)22 {23 return a.b>b.b;24 }25 int main()26 {27 int n;28 n=read();29 for(register int i=1;i<=n;i++)30 {31 t[i].a=read();t[i].b=read();32 }33 sort(t+1,t+n+1,cmp);34 ans=t[1].b;35 for(register int i=1;i<=n;i++)36 {37 if(ans>t[i].b) ans=t[i].b;38 ans-=t[i].a;39 }40 printf("%d",ans);41 return 0;42 }

 

转载于:https://www.cnblogs.com/InductiveSorting-QYF/p/10939668.html

你可能感兴趣的文章
linux uniq 命令
查看>>
Openssl rand命令
查看>>
HDU2825 Wireless Password 【AC自动机】【状压DP】
查看>>
BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】
查看>>
HUT-XXXX Strange display 容斥定理,线性规划
查看>>
mac修改用户名
查看>>
一道关于员工与部门查询的SQL笔试题
查看>>
Canvas基础
查看>>
[Hive - LanguageManual] Alter Table/Partition/Column
查看>>
可持久化数组
查看>>
去除IDEA报黄色/灰色的重复代码的下划波浪线
查看>>
Linux发送qq、网易邮件服务配置
查看>>
几道面试题
查看>>
【转】使用 WebGL 进行 3D 开发,第 1 部分: WebGL 简介
查看>>
js用正则表达式控制价格输入
查看>>
chromium浏览器开发系列第三篇:chromium源码目录结构
查看>>
java开发操作系统内核:由实模式进入保护模式之32位寻址
查看>>
第五讲:单例模式
查看>>
Python编程语言的起源
查看>>
Azure ARMTemplate模板,VM扩展命令
查看>>