UVa11729 - Commando War(贪心)
题目链接
简介:
n个任务分配给n个部队做,每个部队都需要交代B的时间,执行J的时间
分析:
直觉告诉我们,执行时间长的任务需要早交代
那我们直接按照执行时间排序,一个一个交代就好了
为什么我们这么做事对的呢
TA:贪心不要证明
假设我们交换两个相邻的任务X和Y(交换前X在Y之前,交换后X
在Y之后),
不难发现,其他任务的完成时间没有影响,那么我们看着两个任务
情况一
交换之前,任务Y比X先结束
不难发现这样之后答案不会更好
情况二
交换之前,X比Y先结束
因此交换之后不会变优的重要条件是:
交换后X的结束时间不比交换前Y的结束时间早
这个条件可以写成:B[Y]+B[X]+J[X]>=B[x]+B[Y]+J[Y]
化简得J[X]>=J[Y],所以说我们要把执行时间长的先进行
//这里写代码片
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>using namespace std;const int N=1010;
struct node{int B,J;
};
node a[N];
int n;int cmp(const node &a,const node &b)
{return a.J>b.J; //J 执行时间
}int main()
{int cnt=0;while (scanf("%d",&n)!=EOF&&n){for (int i=1;i<=n;i++)scanf("%d%d",&a[i].B,&a[i].J);sort(a+1,a+1+n,cmp);int ans=0,time=0;for (int i=1;i<=n;i++){time+=a[i].B;ans=max(ans,time+a[i].J);}printf("Case %d: %d\n",++cnt,ans);}return 0;
}
转载于:https://www.cnblogs.com/wutongtong3117/p/7673024.html
UVa11729 - Commando War(贪心)相关推荐
- UVA11729 Commando War【贪心】
问题链接:UVA11729 Commando War. 问题简述:有n个部下需要完成一项任务,给第i个部下交代任务需要Bi时间,执行任务需要Ji时间,要求尽早完成任务,请输出最后完成任务需要的最小总时 ...
- 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 ...
最新文章
- 水平,垂直居中的15种方法
- 在手机计算机打数字能监控手机吗,注意了!如果屏幕上出现这4种现象,你的手机可能已被监视...
- OVS之vhost-net中VM通信(九)
- 通过docker搭建zabbix监控系统
- awk 系列Part5:如何使用 awk 复合表达式
- OpenCV视频加速Video acceleration的实例(附完整代码)
- android 安装第三方app,Android识别预装的第三方App方法实例
- MTK DRM常见问题介绍
- urtlebot3启动键盘控制后 /cmd_vel 会持续输出数据,在键盘不给信号时 /cmd_vel 续输,导致此功能与导航同时启动,会导致小车自动行走时一顿一顿的
- html表格宽度拖拽,原生js实现 拖拽改变 table表格列宽
- 轮询、前后台和多任务系统软件模型区别
- id和instancetype
- spring boot 集成 sitemesh
- 随机过程在计算机领域的应用,随机过程与排队论——及其在计算机领域中的应用.doc...
- unity 录屏插件总结 以及 AVProMovieCapture 5.0.0 安卓录制失败问题
- 仿生象鼻机械臂的创新设计与应用研究
- html+txth换行,文本文档换行符号
- 在linux下比较好用的chm阅读器和飞信软件
- IOS调起H5中文参数乱码问题(不是简单编码)
- 黑马程序员_java高级篇网络编程TCP实战Day8(上)