题意:

有n个人会在某时间段来洗衣服,但是只有一台洗衣机,当洗衣机被用时其他人只能手洗,手洗时间为y(题目给定),洗衣机的时间为x,x∈[1,y],问当x分别为[1,y]时,最短的洗衣时间是多少?

题解:

据我所知有两个方法:
1.李超树 2.贪心
李超树我还不是很清楚,等学会了再更新。。
贪心的话其实就是想办法优化,以为按照原题数据肯定是不可能暴力的,
根据题意:y肯定大于x
那我们就像最省时间的方法就是在y的时间内来洗衣机,因为一个人一旦手洗就不能再机洗,我们就看手洗时间等于多好啊机洗时间
记录最大数为pos,也就是从pos到最后一个人,这期间是小于一次手洗时间,也就是都可以手洗
然后i从n到pos枚举,记录机洗所花时间的最大值,并于第pos个人手洗时间进行对比
也就是从第pos人开始,是手洗时间更长还是机洗时间更长

代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+9;
typedef long long ll;
ll t[maxn];int main()
{ios::sync_with_stdio(false);ll n,y;while(cin>>n>>y){ll sum=0;for(int i=1;i<=n;i++){cin>>t[i];}sort(t+1,t+1+n);for(ll x=1;x<=y;x++)//洗衣机 {ll pos=0;for(ll j=n-1;j>=1;j--)//从后向前找人 {int times=(n-j+1); if(y>1ll*x*times)continue;//当前人洗的时间等于多少洗衣机时间 else //当超过人洗时间,记录此时j {pos=j;break;}}for(ll i=n;i>pos;i--){sum=max(sum,1ll*(t[i]+x*(n-i+1)));//不同时间段人用洗衣机所花时间 }if(pos)sum=max(sum,1ll*(t[pos]+y));if(x!=y)cout<<sum<<" ";else cout<<sum<<endl;}}}

I - Washing clothes相关推荐

  1. 【POJ - 3211】Washing Clothes (dp,0-1背包中点问题)

    题干: Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a beautif ...

  2. 简单01背包 POJ3211 Washing Clothes 多种衣服分别dp

    题目连接:http://poj.org/problem?id=3211 大意就是 一个人洗衣服,然后找他媳妇帮忙.有n种颜色的衣服,和m件衣服,每件衣服的颜色和洗出来的时间都会给出来.再洗的时候两个人 ...

  3. poj 3211 Washing Clothes (01)

    http://poj.org/problem?id=3211 小两口洗衣服,只有一种颜色的衣服洗完才能洗下一种颜色,两人同时洗问需要的最小时间. 这里一种颜色的衣服所需的总时间可以求出,求出每种颜色衣 ...

  4. poj 3211 Washing Clothes

    #include<iostream> //0-1背包问题#include<map>#include<vector>#include<string>usi ...

  5. The Preliminary Contest for ICPC Asia Nanjing 2019ICPC南京网络赛

    B.super_log (欧拉降幂) •题意 定一个一个运算log*,迭代表达式为 给定一个a,b计算直到迭代结果>=b时,最小的x,输出对m取余后的值 •思路 $log*_{a}(a^{a}) ...

  6. 动态规划 —— 背包问题

    [概述] 背包问题(Knapsack problem)是一种组合优化的NP完全问题. 问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最 ...

  7. 线性筛法 欧拉筛c语言,[洛谷P3383][模板]线性筛素数-欧拉筛法

    Hibernate Hql 总结 1.from子句 Hibernate中最简单的查询语句的形式如下: from eg.Cat该子句简单的返回eg.Cat类的所有实例. 通常我们不需要使用类的全限定名, ...

  8. sys_guid() mysql写法_PostgreSQL Oracle 兼容性之 - sys_guid()

    codeforces716E (点分治) Problem Digit Tree 题目大意 给一棵树,有边权1~9. 询问有多少个点对(i,j),将i--j路径上的数字依次连接后所形成新数字可以被k整除 ...

  9. DP分类题目 转载 《志当存高远》大神的 没有冒犯的意思 只是拿过来学习的

    A.各种背包,就根据背包九讲的内容来做吧! --不会背包的可以边看背包九讲边练习 =========================================================== ...

最新文章

  1. 六大策略迎接数据中心巨大变革
  2. 北京联通限制上传到电信网络服务器
  3. 此上下文中不允许函数定义。_深度好文 | 你知道Go中的 context 是怎么实现的吗?...
  4. Linux疑难杂症解决方案100篇(十)-uptime命令查看linux系统负载
  5. Eclipse自动注册Servlet:web.xml注册和@Servlet注解 实现注册
  6. Git的简单使用以及在Django中有关日志文件的忽略
  7. 最长回文Manacher
  8. Python学习之旅:用Python制作一个打字训练小工具
  9. 关于GO语言,这篇文章讲的很明白
  10. BEST定理:有向图欧拉回路个数(bzoj 3659: Which Dreamed It)
  11. 量化涌现:信息论方法识别多变量数据中的因果涌现
  12. ORCLE导出数据,加不加owner,ORACLE常用的导出语句
  13. Java SimpleDateFormat.setLenient(boolean lenient)方法使用
  14. ArduPilot之遥控器数据读取
  15. win10的开机启动目录(文件夹)位置
  16. 蚁群算法求解TSP问题
  17. C语言初阶:define定义的常量和宏,关于指针的详细讲解,初步认识结构体的使用
  18. cpu功能解析,cpu功能作用与其工作过程
  19. NB-IoT和eMTC到底有什么不同?
  20. 程序员的编辑器——VIM(转)

热门文章

  1. 砸4亿美元,GE豪赌的全球最大风力发电机到底多大?
  2. 如果这个世界都不按套路出牌将会变成怎么样。。。 | 今日最佳
  3. c语言中英文的作用,C语言中英文对照.doc
  4. java匹配两个字符_·代表任意一个字符,*代表任意一串字符,判断两个字符串是否匹配?...
  5. Java Dao模式通过JDBC连接数据库的操作
  6. java 线程访问控件_C#多线程与跨线程访问界面控件的方法
  7. python新闻评论分析_从新闻文章中提取评论
  8. anaconda和python有什么不一样_黄山毛峰的味道为什么会不一样?
  9. java将图片铺满panel_如何让添加的背景图片铺满整个JFrame?
  10. 通过对象属性去重_Redis常见对象类型的底层数据结构