uva11729

这个题的题意是

你有n个部下,每个部下需要完成一项任务。第i个部下需要你花Bi分钟交代任务,然后他会立刻独立地、无间断地执行Ji分钟后完成任务。

你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。注意,不能同时给两个部下交待任务,

但部下们可以同时执行他们各自的任务

求完成所有任务的最短时间

实际上呢我们知道这是一个排序的问题。。当然有时候可以转化成其他问题。。

我们先按它是一个排序的问题来搞一下。。

那么每个元素就有两个属性交待的时间a,完成任务的时间b,显然这是一个二维偏序的问题(?)

那么我们考虑第一维有三种情况(等于,大于,小于),第二维也有三种情况。。

由组合数学的乘法原理得。。最后的结果总数是3*3=9

那么我们枚举小数据来看看相邻两个元素怎么放置可以使结果最小,如果这个确定的话那么我们可以冒泡排序

通过交换来维持这个性质,当然这个是要有前提的,那就是要满足最优子结构的性质,也就是说这个问题呢

要满足如果我序列里任何相邻元素都满足上面使结果最小的顺序导致我总体结果也是最小的那么这样的话,

应该是满足最优子结构的性质的,那么我们分析这个问题。。很显然你把它两两相邻考虑

从一个元素开始慢慢往上加。。每加入一个元素我们就调整顺序。。那么这样我们就保证了使每次取max(pre-element,cur-element)

我们每次使这个将要考虑的cur-element最小,那么我们最后取得最大值就会最小。。

那么如果我们用探索法画图画这九种情况来分析规律

我们画了5种。。但是足以看出来。。我们先做执行任务长的,时间会更短

那么我们其实还发现不管什么顺序。。安排任务的时间总和是固定的。。但是结果不同

区别就在于分配任务的前缀和加上哪个执行任务时间对答案的贡献。。那么我们显然可以得到。。执行任务时间最长的应该配

一个较短的分配任务前缀和。。这样可以减小这个最大值对答案的贡献

还有一些地方不太懂。。再做几道类似的题目再说吧

UVA的64位整数是%lld 另外要注意答案输出格式。。不要以为数值对了就能AC。。

贴上AC代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; typedef long long ll;
const int maxn=1e3+;
int N;
struct node{
int a,b;
}Node[maxn];
bool cmp(node a,node b){
if(a.b!=b.b) return a.b>b.b;
else return a.a>b.a;
}
int main(){
int cnt=;
while(~scanf("%d",&N)){
if(N==) break;
int i,j;
for(i=;i<N;++i){
scanf("%d%d",&Node[i].a,&Node[i].b);
}
sort(Node,Node+N,cmp);
ll previd1=Node[].a;
ll mx=previd1+Node[].b;
for(i=;i<N;++i){
previd1+=Node[i].a;
mx=max(mx,previd1+Node[i].b);
}
printf("Case %d: %lld\n",++cnt,mx);
}
return ;
}

经典贪心算法uva11729的更多相关文章

  1. [经典贪心算法]Prim算法

    最小生成树的Prim算法也是贪心算法的一大经典应用.Prim算法的特点是时刻维护一棵树,算法不断加边,加的过程始终是一棵树. Prim算法过程: 一条边一条边地加, 维护一棵树. 初始 E = {}空 ...

  2. 经典贪心算法(哈夫曼算法,Dijstra单源最短路径算法,最小费用最大流)

    哈夫曼编码与哈夫曼算法 哈弗曼编码的目的是,如何用更短的bit来编码数据. 通过变长编码压缩编码长度.我们知道普通的编码都是定长的,比如常用的ASCII编码,每个字符都是8个bit.但在很多情况下,数 ...

  3. 关于贪心算法的经典问题(算法效率 or 动态规划)

    如题,贪心算法隶属于提高算法效率的方法,也常与动态规划的思路相挂钩或一同出现.下面介绍几个经典贪心问题.(参考自刘汝佳著<算法竞赛入门经典>).P.S.下文皆是我一个字一个字敲出来的,绝对 ...

  4. 【十大经典数据挖掘算法】AdaBoost

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 集成学习 集成学习(ensem ...

  5. 贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal&#39;s algorithm)

    克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个.这里面充分体现了贪心算法的精髓.大致的流程能够用一个图来表示.这里的图的选择借用了Wikiped ...

  6. js算法初窥05(算法模式02-动态规划与贪心算法)

    在前面的文章中(js算法初窥02(排序算法02-归并.快速以及堆排)我们学习了如何用分治法来实现归并排序,那么动态规划跟分治法有点类似,但是分治法是把问题分解成互相独立的子问题,最后组合它们的结果,而 ...

  7. Java 算法(一)贪心算法

    Java 算法(一)贪心算法 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.贪心算法 什么是贪心算法?是指在对问题进行求 ...

  8. 【BZOJ】1828: [Usaco2010 Mar]balloc 农场分配(经典贪心)

    [算法]贪心+线段树 [题意]给定n个数字ci,m个区间[a,b](1<=a,b<=10^5),每个位置最多被ci个区间覆盖,求最多选择多少区间. 附加退化问题:全部ci=1,即求最多的不 ...

  9. hdoj2037 贪心算法——今年暑假不AC

    所谓“贪心算法”是指:在对问题求解时,总是作出在当前看来是最好的选择.也就是说,不从整体上加以考虑,它所作出的仅仅是在某种意义上的局部最优解(是否是全局最优,需要证明). 经典问题:时间序列问题   ...

随机推荐

  1. Unity3d 怪物死亡燃烧掉效果

    效果 BurnToFadeOut.shader代码 Shader "BurnToFadeOut" { Properties { _StartColor ("Start C ...

  2. QPS计算方法

    2016年3月14日 13:55:39 星期一 好久没写文章了, 神烦.....

  3. MFC 对话框添加菜单

    1.在Resource View 里右击菜单里选择Add Resource,选择menu,添加一个IDR_MENU1的菜单.在编辑器编辑菜单,添加菜单项,命名各个菜单项的ID. 2.在所要添加菜单的对 ...

  4. Android应用主题与横竖屏的切换

    很多App,现在都具有了横竖屏切换的功能,或者说"白天"和"黑夜"主题的切换. 实现起来也非常简单.主要需要注意的是,在切换的同时,页面的数据不能丢失,不然给用 ...

  5. Windows update 失败的解决方案

    由于刚刚装了新的系统,结果在电脑用了刚刚一周之后,我打开了自动更新,结果电脑就一直处于更新状态中.期初我以为是更新比较慢,等等可能就结束了,结果等了足足一晚上,到了第二天,电脑显示是:配置更新失败,正 ...

  6. 解决Idea创建maven-archetype-webapp项目无java目录的问题

    一.背景 在适用IDEA创建maven-archetype-webapp项目的时候,创建完成后发现在main文件夹下没有java源文件夹,不少小伙伴也遇到该问题,但不知道怎么解决,下面我就来分享解决步 ...

  7. CUDA中并行规约(Parallel Reduction)的优化

    转自: http://hackecho.com/2013/04/cuda-parallel-reduction/ Parallel Reduction是NVIDIA-CUDA自带的例子,也几乎是所有C ...

  8. Git命令之从GitHub上下载开源项目

    1,先在本地创建一个目录,作为本地仓库,如: 2,使用Git init 初始化仓库,git初始化完成后,会生成一个隐藏的git文件如: 3,clone Git项目,如: 4,这个项目就是合Github ...

  9. Java RSA 密钥生成工具

    MAC openssl: RSA加解密 第一条命令是生成密钥长度为1024的密钥: 第二条命令是从中生成公钥: 第三条命令是使用pkcs8编码密钥为私钥 http://blog.csdn.net/ch ...

  10. C#中的变量及命名规则

    变量: 1.作用 :可以让我们在计算机中存储数据 2.语法:变量类型    变量名=赋值: 3.常用的数据类型:  int   整数类型  取值范围:最大2147483647;最小-214748364 ...