/**
题目:hdu6000 Wash 巧妙地贪心
链接:https://vjudge.net/contest/173364#problem/B
转自:http://blog.csdn.net/overload1997/article/details/54730156
题意:L件衣服,N个洗衣机,M个烘干机,给出每个洗衣机洗一件衣服的时间和烘干机烘干一件衣服的时间,问需要的最少时间是多少。
思路:这是ccpcfinal的题目,明显是贪心但是很难想出来,首先洗衣服所需的最短时间应该很容易想出来了,
用优先队列弹出下一次先洗完的时间就好了,问题在于烘干,正解应该是倒过来想,
假设全部洗完洪完所需的最小时间是x,那么在x时刻,烘干机全部都已经工作完毕了,
即烘干机全部空闲,那么我们把时间倒过来看,烘干过程等于洗衣服过程,用同样的方法算出最快烘干时间,
然后要最快的时间故肯定是小的+大的,最后取最大值就是我们想要的x了,思路有点复杂,很难说清楚,还是上代码吧。 转自:http://blog.csdn.net/overload1997/article/details/54730156
*/
#include<cstdio>
#include<iostream>
#include<vector>
#include<cstring>
#include<assert.h>
#include<algorithm>
#include<cmath>
#include<queue>
#define P pair<int,int>
using namespace std;
typedef long long LL;
const int maxn = 1e6+;
LL time[maxn];
struct node
{
LL a, b;
node(){}
node(LL a,LL b):a(a),b(b){}
bool operator < (const node&k)const{
return a+b>(k.a+k.b);
}
}top;
int main()
{
int T, L, n, m, cas=;
cin>>T;
while(T--)
{
scanf("%d%d%d",&L,&n,&m);
priority_queue<node> q;
LL t;
for(int i = ; i <= n; i++){
scanf("%lld",&t);
q.push(node(,t));
}
for(int i = ; i <= L; i++){
top = q.top();
q.pop();
time[i] = top.a+top.b;
top.a+=top.b;
q.push(top);
}
while(!q.empty()) q.pop();
for(int i = ; i <= m; i++){
scanf("%lld",&t);
q.push(node(,t));
}
LL ans = ;
for(int i = ; i <= L; i++){
top = q.top(); q.pop();
ans = max(ans,top.a+top.b+time[L-i+]);
top.a += top.b;
q.push(top);
}
printf("Case #%d: %lld\n",cas++,ans);
}
return ;
}

hdu6000 Wash 巧妙地贪心的更多相关文章

  1. hdu6000 Wash ccpc-20162017-finals B Wash

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6000 题目: Wash Time Limit: 20000/10000 MS (Java/Ot ...

  2. 8-4 奖品的价值 uva11491(贪心)

    题意:给出一个n位整数   请删除d个数字 使得剩余数字最大 一开始写成窗口扫描  非常的麻烦易错 只要保证前d+1 降序即可  如果非降序   则删除 很巧妙的贪心 每次读入和已经保存的数组相比较 ...

  3. 【dp 贪心】bzoj4391: [Usaco2015 dec]High Card Low Card

    巧妙的贪心 Description Bessie the cow is a huge fan of card games, which is quite surprising, given her l ...

  4. CF767E ChangeFree【贪心/优先队列】By cellur925

    题目传送门 $naive$想法 最开始的一个贪心策略是每次尽量花掉硬币 ,如果不满足条件,就花纸币.而且不满足条件的时候,要尽量向百取整.(显然是不对的,因为有时候不够)但是显然这个贪心策略是错误的, ...

  5. [luogu] P4823 [TJOI2013]拯救小矮人(贪心)

    P4823 [TJOI2013]拯救小矮人 题目描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以 ...

  6. HDU4864 Task(算竞进阶习题)

    贪心 比较巧妙的贪心..先把所有机器和任务按时间是第一关键字,等级为第二关键字排序. 然后用机器去匹配每一个任务. 排序之后,在时间上满足当前任务的机器,必定也在时间上满足后面的机器,所以我们每次把时 ...

  7. C. Party Lemonade

    链接 [http://codeforces.com/group/1EzrFFyOc0/contest/913/problem/C] 分析 看代码,巧妙的贪心 代码 #include<bits/s ...

  8. D. Dog Show 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    http://codeforces.com/contest/847/problem/D 巧妙的贪心 仔细琢磨... 像凸包里的处理 #include <cstdio> #include & ...

  9. [BZOJ1117]救火站gas

    Description 给你一棵树,现在要建立一些消防站,有以下要求: 1. 消防站要建立在节点上,每个节点可能建立不只一个消防站. 2. 每个节点应该被一个消防站管理,这个消防站不一定建立在该节点上 ...

随机推荐

  1. Maven nexus 安装nexus私服出现的两个问题

    1. 在win10中安装nexus时提示:wrapper | OpenSCManager failed - 拒绝访问. (0x5) 主要是没有权限.需要以管理员的身份运行 如果你是直接点击 start ...

  2. springMVC配置静态资源访问的<mvc:resources>标签的使用

    在springmvc中,为了引用资源的访问不会类似Controller一样被拦截,区分出关注的资源的访问,一般我们在springMVC里面的拦截都会配置为"/",拦截所有的.但是这 ...

  3. minic 词法单元建立

    #include <stdio.h> #include "symbol_table_def.h" //前面的那个词法和文法说明只是大概的说明,现在又有了改动,把指针运算 ...

  4. linux 设置 亮度

    调整系统运行的配置文件位于 /sys/class/ 文件夹下. 调整亮度在 /sys/class/backlight/XXXX/brightness XXXX 是因为使用的驱动不一样,名称就会不一样, ...

  5. Cocos2dx&amp;Lua - UI显示优化之怎样解决解析大量json文件

    GUIReader中有个widgetFromJsonFile的方法,此方法是用于解析json文件(cocostudio生成的UI的)并返回该文件的父节点(Widget),然后便于进一步的UI操作(如获 ...

  6. sql2012简体中文版安装

    sql2012简体中文版安装 导航 介绍 安装 先决条件 装.NET3.5 关闭Windows防火墙 运行Setup.exe 安装程序支持规则 产品密钥 许可条款 产品更新 安装安装程序文件 安装程序 ...

  7. iOS开发-使用storyboard实现UILabel的自适应高度(iOS8)

    好久没有写博客了.以后多写些博客,对自己是一种提升.对大家也是一种帮助 近期特别痴迷storyboard和xib的可视化编程,在写项目的时候遇到个问题就是怎样使UILabel自适应高度,查了好多文章博 ...

  8. java设计模式之策略

    今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会.要帮什么忙呢?你很好奇. 他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的数据,现在需要完成一个选 ...

  9. JAVA 解密pkcs7(smime.p7m)加密内容 ,公钥:.crt 私钥:.pem 使用Bouncy Castle生成数字签名、数字信封

    第三方使用公钥.crt加密后返回的内容,需要使用私钥解密.pem 返回内容格式如下 MIME-Version: 1.0 Content-Disposition: attachment; filenam ...

  10. sql查询备份或还原等操作的大概完成时间

    查询出来的还需完成时间还算比较准确 --查询备份或还原等操作的大概完成时间 select command ,percent_complete ,running_time))+' hour, ' ))+ ...