题目链接

简介:
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(贪心)相关推荐

  1. UVA11729 Commando War【贪心】

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

  2. Uva11729 Commando War

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

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

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

  4. 【UVA - 11729】Commando War (贪心,时间调度问题)

    题干:(Uva不放题干了) 题目大意:(实在是自己懒得写网上找了一个) 解题报告: 调度问题,直接贪心出完成任务需要的时间最长的那个人排序,就行了. 方法正确性的证明以前也写过了,,这里就不再写了,, ...

  5. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  6. ICPC程序设计题解书籍系列之二:刘汝佳:《算法竞赛入门经典训练指南》

    第1章 算法设计基础(例题) 1.1思维体操 UVA11292 HDU1902 POJ3646 The Dragon of Loowater[贪心] - 海岛Blog - CSDN博客 UVA1172 ...

  7. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

  8. 训练指南第一部分解题报告

    主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks  (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...

  9. 2019-2020新生训练class 1- 熟悉oj的使用方法贪心

    这场是我拉的第一场比赛 我也好久没写题解了 写的不好请多包涵 前面的题比较基础(A-O) 就不多提啦 那就从p开始咯 P - Best Cow Line 题目 FJ is about to take ...

最新文章

  1. 水平,垂直居中的15种方法
  2. 在手机计算机打数字能监控手机吗,注意了!如果屏幕上出现这4种现象,你的手机可能已被监视...
  3. OVS之vhost-net中VM通信(九)
  4. 通过docker搭建zabbix监控系统
  5. awk 系列Part5:如何使用 awk 复合表达式
  6. OpenCV视频加速Video acceleration的实例(附完整代码)
  7. android 安装第三方app,Android识别预装的第三方App方法实例
  8. MTK DRM常见问题介绍
  9. urtlebot3启动键盘控制后 /cmd_vel 会持续输出数据,在键盘不给信号时 /cmd_vel 续输,导致此功能与导航同时启动,会导致小车自动行走时一顿一顿的
  10. html表格宽度拖拽,原生js实现 拖拽改变 table表格列宽
  11. 轮询、前后台和多任务系统软件模型区别
  12. id和instancetype
  13. spring boot 集成 sitemesh
  14. 随机过程在计算机领域的应用,随机过程与排队论——及其在计算机领域中的应用.doc...
  15. unity 录屏插件总结 以及 AVProMovieCapture 5.0.0 安卓录制失败问题
  16. 仿生象鼻机械臂的创新设计与应用研究
  17. html+txth换行,文本文档换行符号
  18. 在linux下比较好用的chm阅读器和飞信软件
  19. IOS调起H5中文参数乱码问题(不是简单编码)
  20. 黑马程序员_java高级篇网络编程TCP实战Day8(上)

热门文章

  1. 燃!阿里AI技术取得重大突破:连破中、英语言处理两项世界纪录
  2. 内温的整体优先效应实验_陕西师范大学《普通心理学》第四章-知觉
  3. 【实施工程师】Linux怎么查看当前进程
  4. Excel-开发者工具(WPS)
  5. 重置mysql root密码
  6. ASM_POWER_LIMIT 参数
  7. oracle行列转换总结
  8. nodejs 单元测试
  9. Shell命令-文件及内容处理之split、paste
  10. 关于Verilog中begin···end语句执行顺序