题干:(Uva不放题干了)

题目大意:(实在是自己懒得写网上找了一个)

解题报告:

调度问题,直接贪心出完成任务需要的时间最长的那个人排序,就行了。

方法正确性的证明以前也写过了,,这里就不再写了,,还是贴那篇题解中附的(这篇题解应该也是采用的交换证明法)。

那篇题解

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
struct Node {int a,b;
} node[MAX];
bool cmp(Node a,Node b) {return a.b>b.b;
}
int n;
int main()
{int iCase = 0;while(~scanf("%d",&n)) {if(n == 0) break;for(int i = 1; i<=n; i++) scanf("%d%d",&node[i].a,&node[i].b);int ans = 0,tmp=0;sort(node+1,node+n+1,cmp);for(int i = 1; i<=n; i++) {tmp += node[i].a;ans = max(ans,tmp + node[i].b);}printf("Case %d: %d\n",++iCase,ans);}return 0 ;
}

今天讲课学长说了一种贪心的证明思路貌似很正确啊。,先假设找到了一种最优解,然后看我们贪心的方法是否会改变这个最优解,如果改变不了,那么说明我们的方法一定是没有问题的。

【UVA - 11729】Commando War (贪心,时间调度问题)相关推荐

  1. UVa 11729 - Commando War(贪心算法)

    题意: 给n个士兵分配任务,用b表示分配时间,j表示任务完成需要的时间,分配任务是串行的,执行任务是并行的,问算上总共时间需要最小的方案 思路: 代码如下: #include <iostream ...

  2. UVA11729 Commando War【贪心】

    问题链接:UVA11729 Commando War. 问题简述:有n个部下需要完成一项任务,给第i个部下交代任务需要Bi时间,执行任务需要Ji时间,要求尽早完成任务,请输出最后完成任务需要的最小总时 ...

  3. UVa11729 - Commando War(贪心)

    题目链接 简介: n个任务分配给n个部队做,每个部队都需要交代B的时间,执行J的时间 分析: 直觉告诉我们,执行时间长的任务需要早交代 那我们直接按照执行时间排序,一个一个交代就好了 为什么我们这么做 ...

  4. UVa 10954 Add All 贪心

    贪心   每一次取最小的两个数,注意相加的数也要算' #include<cstring> #include<iostream> #include<cstdio> # ...

  5. Uva11729 Commando War

    相邻两个士兵交换顺序,不会对其他的有所影响,贪心考虑两两之间交换策略即可. sort大法好.印象中这类排序题里有一种会卡sort,只能冒泡排序,然而到现在还没有遇到 1 /**/ 2 #include ...

  6. SDU_week4_A - DDL 的恐惧(贪心+作业调度问题)

    题目描述 ZJM 有 n 个作业,每个作业都有自己的 DDL,如果 ZJM 没有在 DDL 前做完这个作业,那么老师会扣掉这个作业的全部平时分. 所以 ZJM 想知道如何安排做作业的顺序,才能尽可能少 ...

  7. UVA - 1346 Songs (贪心+排序)

    题意:已知每首歌的标号,长度和播放频率,求一种播放顺序,使得最小,并且输出该播放顺序下第t首歌的标号. 分析: 1.长度越短,播放频率越大的歌排在前面,上式越小. 2.s(i)表示的是当前播放顺序下这 ...

  8. UVA - 1471 Defense Lines 贪心+二分

    题目大意:给出长度为n的序列,要求你删除掉一段的连续子序列,使得剩下的序列的递增子序列最长 解题思路:记录以下每个位置的值所能延伸的最左端和最右端,用一个数组记录长度为i的数的最小值,然后从左往右扫描 ...

  9. 《训练指南》中的“突击战”和分金币问题

    又到了周末,发现很堕落啊,眼看都星期天了,赶紧发一篇文章,总结一下上周学的. 原题见UVA11300,Spreading the wealth,和 UVA 11729 Commando War:先说突 ...

最新文章

  1. C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
  2. QCon北京2015:18个热门专题,出品人全部确认,新版网站上线
  3. Unix/Linux环境C编程入门教程(27) 内存那些事儿
  4. 虚拟跳线软件干什么用的_视频教程:用 ESI 的虚拟跳线给你的声音添加效果
  5. 计算机专业实践试题,计算机专业实践综合试题答案..doc
  6. Docker部署自己的短链接服务
  7. java语言发展历程
  8. 出版物排版软件——对XML数据进行排版、浏览、转换、打印
  9. [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)
  10. python笔记02_面向对象编程和面向对象高级编程
  11. Linux常见问题解答--如何修复“tar:Exiting with failure status due to previous errors”
  12. lucene全文检索包括双层PDF
  13. C#学习笔记:矩形判断
  14. 针孔监控摄像头检测神器!
  15. 计算机网络教室后黑板报,教室后黑板报设计图
  16. ccf化学方程式配平检验
  17. MySQL源代码的海洋中游弋 初探MySQL之SQL执行过程 [转]
  18. 面经---测试工程师web端自动化---大厂面试题
  19. 【院校信息】2021中国海洋大学计算机考研数据汇总
  20. iapp跳转QQ名片代码

热门文章

  1. ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
  2. vue——去除白色边框
  3. linux awr 日志,Linux平台生成awr报告
  4. php异步轮询如何实现,深入剖析JavaScript异步之事件轮询
  5. 大学只待成追忆,只是工作已半年,2016再见
  6. 图片自动翻转css代码,用css实现图片翻转(示例代码)
  7. 防灾科技学院计算机组成原理,防灾科技学院计算机组成原理复习材料1
  8. mkenvimage
  9. 关于WinCE中config.bib的问题
  10. 小学数学加减法测试软件,儿童数学加法运算火箭(测试版)