题目链接:http://poj.org/problem?id=3104

题意:有n件衣服,每一件含有a[i]单位的水,每分钟衣服可以自然蒸发1单位的水,也可以在烘干器上每分钟烘干k单位的水,问将所有衣服烘干的最短用时。

思路:最短用时最小为1,最大为Max(a[i]中的最大值),即k=1的情况。所以可以利用二分不断逼近答案,并判断。若m符合,则在[l,m-1]里查找,否则在[m+1,r]里查找。判断处:显然a[i]小于m的衣服不用烘干机,可以自己蒸发干,对于大于m的衣服假设需要烘干机x分钟,则(m-x)+k*x>=a[i],得x=ceil((a[i]-m)*1.0/(k-1))故对于k=1的情况需要特判。详见代码:

 #include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std; int n,k,Max,res;
int a[]; bool check(int p){
long long sum=;
for(int i=;i<n;++i)
if(a[i]>p) sum+=ceil((a[i]-p)*1.0/(k-));
return sum<=p;
} int main(){
scanf("%d",&n);
for(int i=;i<n;++i){
scanf("%d",&a[i]);
if(a[i]>Max) Max=a[i];
}
scanf("%d",&k);
if(k==){
printf("%d\n",Max);
return ;
}
int l=,r=Max,m;
while(l<=r){
m=(l+r)>>;
if(check(m))
res=m,r=m-;
else
l=m+;
}
printf("%d\n",res);
return ;
}

poj3104(二分)的更多相关文章

  1. Drying [POJ3104] [二分答案]

    背景 每件衣服都有一定单位水分,在不适用烘干器的情况下,每件衣服每分钟自然流失1个单位水分,但如果使用了烘干机则每分钟流失K个单位水分,但是遗憾是只有1台烘干机,每台烘干机同时只能烘干1件衣服,请问要 ...

  2. 【POJ - 3104 】Drying(二分)

    Drying 直接上中文 Descriptions 每件衣服都有一定单位水分,在不使用烘干器的情况下,每件衣服每分钟自然流失1个单位水分,但如果使用了烘干机则每分钟流失K个单位水分,但是遗憾是只有1台 ...

  3. POJ3104 Drying(二分查找)

    POJ3104 Drying 这个题由于题目数据比较大(1 ≤ ai ≤ 109),采用贪心的话肯定会超时,自然就会想到用二分. 设C(x)为true时表示所用时间为X时,可以把所有的衣服都烘干或者自 ...

  4. poj3104 Drying(二分最大化最小值 好题)

    https://vjudge.net/problem/POJ-3104 一开始思路不对,一直在想怎么贪心,或者套优先队列.. 其实是用二分法.感觉二分法求最值很常用啊,稍微有点思路的二分就是先推出公式 ...

  5. POj3104 Drying(二分)

    Drying Time Limit: 2000MS Memory Limit: 65536K Description It is very hard to wash and especially to ...

  6. POJ3104 Drying —— 二分

    题目链接:http://poj.org/problem?id=3104 Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissio ...

  7. POj-3104 Drying 二分+贪心

    题目大意:有n件湿的衣服,每件衣服都有相应的湿度,每分钟每件衣服的湿度减1(除了在烘干机里的衣服),现在有一个烘干机,烘干机一分钟可以让一件衣服的湿度降低k,问至少要花多少分钟才能使每件衣服的湿度为0 ...

  8. Drying poj3104(二分)

    Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7916   Accepted: 2006 Descriptio ...

  9. POJ-3104 Drying---二分答案判断是否可行

    题目链接: https://cn.vjudge.net/problem/POJ-3104 题目大意: 有一些衣服,每件衣服有一定水量,有一个烘干机,每次可以烘一件衣服,每分钟可以烘掉k滴水.每件衣服每 ...

随机推荐

  1. python大法好——变量、常量、input()、数据类型、字符串、格式化输出、运算符、流程控制语句、进制、字符编码

    python基础知识 1.变量 变量:把程序运算的中间结果临时存到内存里,以备后面的代码可以继续调用. 作用:A.存储数据. B.标记数据. 变量的声明规则: A:变量名只能是字母,数字或下划线任意组 ...

  2. ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(三)加载空间数据

    之前两篇基本上搭好了geodjango开发的环境了,当然你的电脑上肯定要有python和django的环境(这个我就不介绍了,网上一搜一大堆),我自己用的python3.5和django2.0(毕竟2 ...

  3. LInux 阿里云系统遇到挖矿程序

    参考 https://blog.csdn.net/qq_37837029/article/details/82314428 重要的一点,移除下面文件里面的定时任务 /var/spool/cron/cr ...

  4. 08_组件三大属性(2)_props

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. [原]vue - webapp 返回无效 解决方案

  6. spark使用scala读取Avro数据(转)

    这是一篇翻译,原文来自:How to load some Avro data into Spark. 首先,为什么使用 Avro ? 最基本的格式是 CSV ,其廉价并且不需要顶一个一个 schema ...

  7. Servlet基本_WAR、デプロイ

    1.WAR.パッケージングWARはWeb Aplication Resourcesの略で.Webアプリに必要なファイルを1つのファイルにまとめて圧縮したものです.(日本では「わー」と発音の人が多い)W ...

  8. PHP常量总结

    概念 常量我们可以理解为值不变的量.常量只要被定义了,在程序脚本的其他任何地方都不能改变. 因为常量被定义后不能被修改,所以即使重定义常量的值,常量的值也是第一次定义常量时的值 常量不管在哪里被定义, ...

  9. NETIF_F_LLTX 的属性

    在bond初始化的时候,我们可以看到如下属性: /* don't acquire bond device's netif_tx_lock when transmitting */     bond_d ...

  10. python实现根据指定字符截取对应的行的内容

    工作中遇到的,在一个.c文件中有很多函数,这个.c是自动生成的,需要将所有的函数通过extern放到.h中,每个函数都是UINT32 O_开头,通过正则表达式进行字符匹配以及通过linecache来截 ...