【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

因为每件衣服都是没有区别的。
只有洗衣机不同会影响洗衣时间。
那么我们把每台洗衣机洗衣的时间一开始都加入到队列中。
比如{2,3,6,7}
这个队列里面的数字就代表了如果某件衣服用这台洗衣机洗的话,要在什么时刻洗好。
对于每一件衣服i。
取出队列的头。
这里为2
那么就a[i] = 2,表示第i件衣服最早在a[i] = 2时刻洗好
然后再把2+t[i]加入到队列中即{3,2+t[i],6,7} (这里t[i]即等于2)
每次都取出队头即可。

然后是烘干的过程。

贪心的方法是,最晚洗好的那一件衣服

(这里因为我们第一步贪心的时候,是顺序枚举每一件衣服的,所以最晚洗好的那一件衣服一定是a[L])

一定要用最快的烘干机去烘干它。

按照这个去贪心就好。

这个过程其实不是很好理解

代码中 取出最快的烘干机之后,把{temp.first+temp.second,temp.second}再次加入到队列中,实际含义

其实就是说,如果有另外一件衣服还要用这台机器烘干的话,那么得多出来temp.second的时间,让给前面

的衣服->但是也可能不用让,不用让也没事,那么之前得到的一定是更大的值.

这点是需要动脑子的地方。

【代码】

/*
1.Shoud it use long long ?
2.Have you ever test several sample(at least therr) yourself?
3.Can you promise that the solution is right? At least,the main ideal
4.use the puts("") or putchar() or printf and such things?
5.init the used array or any value?
6.use error MAX_VALUE?
7.use scanf instead of cin/cout?
8.whatch out the detail input require
*/
#include <bits/stdc++.h>
#define ll long long
using namespace std; const int N = 1e6+10; ll a[N];
int T,l,n,m;
priority_queue <pair<ll,ll> ,vector <pair<ll,ll> >,greater <pair<ll,ll> > > q; int main(){
#ifdef LOCAL_DEFINE
freopen("F:\\c++source\\rush_in.txt", "r", stdin);
#endif
int kase = 0;
ios::sync_with_stdio(0),cin.tie(0);
cin >> T;
while (T--){
cin >> l >> n >> m; for (int i = 1;i <= n;i++){
ll x;
cin >> x;
q.push({x,x});
} for (int i = 1;i <= l;i++){
a[i] = q.top().first;
pair<ll,ll> temp = q.top();
q.pop();
temp.first += temp.second;
q.push(temp);
} while (!q.empty()) q.pop(); for (int i = 1;i <= m;i++){
ll x;
cin >> x;
q.push(make_pair(x,x));
} ll ma = 0;
for (int i = l;i >= 1;i--){
pair <ll,ll> temp = q.top();
q.pop();
ma = max(ma,a[i]+temp.first);
temp.first+=temp.second;
q.push(temp);
}
while (!q.empty()) q.pop();
cout << "Case #"<<++kase<<": "<<ma<<endl;
} return 0;
}

【hdu 6000】Wash的更多相关文章

  1. 【HDU 6000】Wash(贪心)

    Problem Description Mr.Panda is about to engage in his favourite activity doing laundry! He's brough ...

  2. 【数位dp】【HDU 3555】【HDU 2089】数位DP入门题

    [HDU  3555]原题直通车: 代码: // 31MS 900K 909 B G++ #include<iostream> #include<cstdio> #includ ...

  3. 【HDU 5647】DZY Loves Connecting(树DP)

    pid=5647">[HDU 5647]DZY Loves Connecting(树DP) DZY Loves Connecting Time Limit: 4000/2000 MS ...

  4. -【线性基】【BZOJ 2460】【BZOJ 2115】【HDU 3949】

    [把三道我做过的线性基题目放在一起总结一下,代码都挺简单,主要就是贪心思想和异或的高斯消元] [然后把网上的讲解归纳一下] 1.线性基: 若干数的线性基是一组数a1,a2,a3...an,其中ax的最 ...

  5. 【HDU 2196】 Computer(树的直径)

    [HDU 2196] Computer(树的直径) 题链http://acm.hdu.edu.cn/showproblem.php?pid=2196 这题可以用树形DP解决,自然也可以用最直观的方法解 ...

  6. 【HDU 2196】 Computer (树形DP)

    [HDU 2196] Computer 题链http://acm.hdu.edu.cn/showproblem.php?pid=2196 刘汝佳<算法竞赛入门经典>P282页留下了这个问题 ...

  7. 【HDU 5145】 NPY and girls(组合+莫队)

    pid=5145">[HDU 5145] NPY and girls(组合+莫队) NPY and girls Time Limit: 8000/4000 MS (Java/Other ...

  8. 【hdu 3537】Daizhenyang's Coin

    Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  9. 【49.23%】【hdu 1828】Picture

    Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

随机推荐

  1. Linux常用浏览器

    1.火狐浏览器是一个安全高效的浏览器,它具有速度快.隐私保护.丰富的插件资源.不同设备之间同步数据.分页浏览.个性化定制等特性. 2.谷歌浏览器 谷歌浏览器是一个由Google公司开发的网页浏览器,具 ...

  2. Huawei配置两台交换机堆叠示例

    配置两台交换机堆叠示例(先配置后连线方式,推荐) 一.基本概念 在堆叠中,有以下一些基本概念,如图1所示.图1 堆叠基本概念示意图 1. 角色堆叠中的单台交换机称为成员交换机,按照功能不同可以分为以下 ...

  3. DENON AVR-X510BT 功放设置记录

    http://manuals.denon.com/avrx510bt/ap/zh/index.php 环绕模式  : Direct:直接 Sttereo:立体声 Dolby PL  声音模式 电影 : ...

  4. PHP获取随机字符串的两种方法

    <?php /** * 随机返回字符串 * @param number 返回字符串长度 * @param string 从哪些字符串中随机返回,已设置默认字符串,可空 * @return str ...

  5. expr---计算工具

    expr命令是一款表达式计算工具,使用它完成表达式的求值操作. expr的常用运算符: 加法运算:+ 减法运算:- 乘法运算:\* 除法运算:/ 求摸(取余)运算:% 语法 expr(选项)(参数) ...

  6. 机器学习完整过程案例分布解析,python代码解析

    所谓学习问题,是指观察由n个样本组成的集合,并依据这些数据来预測未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.如果如今有一个O2O领域的 ...

  7. StdTranslator - Translate PDMS to STD for STAAD.Pro

    StdTranslator - Translate PDMS to STD for STAAD.Pro eryar@163.com STAAD.Pro是由美国世界著名的工程咨询和CAD软件开发公司—R ...

  8. ip6tables: ipv6-icmp vs icmp

    ip6tables: ipv6-icmp vs icmp资料来源 https://www.jethrocarr.com/2013/02/09/ip6tables-ipv6-icmp-vs-icmp/I ...

  9. js的style和getArribute("属性名")

    getAttribute()是HTML DOM的一个方法,用以获取HTML元素的属性(如id,name,type以及其他自定义属性). style是HTML DOM的一个关于样式的对象,style对象 ...

  10. 深入理解Android(4)——理解Android中的JNI(下)

    在前面文章中简单介绍了JNI,这一篇文章来简单看一下jni.h中定义的一些常用方法,来实现通过C++调用Android中的Java代码. 转载请说明出处:http://blog.csdn.net/da ...