UVA11729 Commando War【贪心】
问题链接:UVA11729 Commando War。
问题简述:有n个部下需要完成一项任务,给第i个部下交代任务需要Bi时间,执行任务需要Ji时间,要求尽早完成任务,请输出最后完成任务需要的最小总时间。
这个问题是一个典型的贪心法问题,求完成任务的最短时间。用C++编程比较方便。
程序说明:
程序中,比起用结构表示,每一项任务用一个类对象表示,程序处理起来比较方便,所以实现了一个简单的类job。
排序时,任务J按时间从大到小执行,可以得到最短的完成任务时间。但是,如果任务的时间相同,应该让交代任务时间较短的任务优先执行。
AC通过的C++语言程序如下:
/* UVA11729 Commando War */#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>using namespace std;const int MAXN = 10000;class job {
public:int b, j;job(int b, int j):b(b), j(j){}bool operator < (const job& r) const {return (j == r.j) ? b < r.b : j > r.j;}
};vector<job> myjob;int main()
{int n, b, j, caseno=0;while(scanf("%d", &n) != EOF && n != 0) {myjob.clear();for(int i=0; i<n; i++) {scanf("%d%d", &b, &j);myjob.push_back(job(b, j));}sort(myjob.begin(), myjob.end());int sum = 0, ans = 0;for(int i=0; i<n; i++) {sum += myjob[i].b;ans = max(ans, sum + myjob[i].j);}printf("Case %d: %d\n", ++caseno, ans);}return 0;
}
UVA11729 Commando War【贪心】相关推荐
- UVa11729 - Commando War(贪心)
题目链接 简介: n个任务分配给n个部队做,每个部队都需要交代B的时间,执行J的时间 分析: 直觉告诉我们,执行时间长的任务需要早交代 那我们直接按照执行时间排序,一个一个交代就好了 为什么我们这么做 ...
- Uva11729 Commando War
相邻两个士兵交换顺序,不会对其他的有所影响,贪心考虑两两之间交换策略即可. sort大法好.印象中这类排序题里有一种会卡sort,只能冒泡排序,然而到现在还没有遇到 1 /**/ 2 #include ...
- UVa 11729 - Commando War(贪心算法)
题意: 给n个士兵分配任务,用b表示分配时间,j表示任务完成需要的时间,分配任务是串行的,执行任务是并行的,问算上总共时间需要最小的方案 思路: 代码如下: #include <iostream ...
- 【UVA - 11729】Commando War (贪心,时间调度问题)
题干:(Uva不放题干了) 题目大意:(实在是自己懒得写网上找了一个) 解题报告: 调度问题,直接贪心出完成任务需要的时间最长的那个人排序,就行了. 方法正确性的证明以前也写过了,,这里就不再写了,, ...
- Competitive Programming 3题解
题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...
- ICPC程序设计题解书籍系列之二:刘汝佳:《算法竞赛入门经典训练指南》
第1章 算法设计基础(例题) 1.1思维体操 UVA11292 HDU1902 POJ3646 The Dragon of Loowater[贪心] - 海岛Blog - CSDN博客 UVA1172 ...
- 《算法竞赛入门经典——训练指南》第一章相关内容
#<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...
- 训练指南第一部分解题报告
主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...
- 2019-2020新生训练class 1- 熟悉oj的使用方法贪心
这场是我拉的第一场比赛 我也好久没写题解了 写的不好请多包涵 前面的题比较基础(A-O) 就不多提啦 那就从p开始咯 P - Best Cow Line 题目 FJ is about to take ...
最新文章
- matlab-基础 size 获取矩阵的行数与列数
- Python3中使用map()结果出错的解决方法
- TCP的FIN_WAIT1状态理解|深入理解TCP
- 与众不同 windows phone (5) - Chooser(选择器)
- 毕设tips——conda
- [vscode] convert tabs to spaces
- Ansbile实战经验
- SlideBox 间隔滚动效果
- 软件需求分析----实验室设备管理系统
- 基于STM32超声波测距
- C语言提取一个数的千位百位十位个位
- 呼叫中心和电话营销系统相关知识--中继线路
- python用表格中的数据画柱状图_Python数据可视化:5种绘制柱状图表的方法(附源码)...
- 【MM ECC VS S4】MM模块中ECC与S4的区别
- 全景看房vr全景展示,获得360度全景式视角实时交互体验
- Nodejs base64编码与解码
- 当技术为组织所累时怎么办?将你的组织架构旋转90度!
- 我在上海赶飞机 出租司机给我上了一堂MBA课
- 知识图谱03:知识图谱的构建方法
- 将群晖NAS变为本地盘
热门文章
- 二、bootstrap table 父子表和行列调序
- w ndows7浏览器网页,win7系统IE浏览器播放网页视频失败的解决方法
- html dom子节点,HTML DOM 节点
- ✨Shell脚本实现Base64 加密解密
- kafka自带的zk启动_kafka-eagle监控和管理kafka
- android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)
- linux php 语法加亮,用js函数PHP语法加亮
- pythoncopy函数_Python的shutil模块中文件的复制操作函数详解
- Java陷阱一箩筐----面试题集
- prim算法 + 最小生成树的打印 C语言