题目大意:你有一台机器可以烘干衣物,现在有n个衣物需要烘干,每件衣服都有一个值表示含水量,烘干机一秒可以烘干k滴水,一件衣服不在烘干机上时会每秒自动蒸发一滴水,求最少用多少时间烘干所有衣服。

分析:

二分总时间,我们知道,如果一件衣服的含水量不超过总时间,就没有必要用烘干机烘干。对于超过的衣服,我们设它在烘干机上烘的时间为x,自己蒸发的时间为mid-x(mid为二分的时间),如果能烘干衣服,则可得到关系k*x+mid-x>=a[i],得到x>=(a[i]-mid)/(k-1),因为我们希望在能蒸干这件衣服前提下让在烘干机上的时间最短,这样才能使别的衣物有更多时间,所已x取最小值(注意向上取整),我们把所有衣物在烘干机上的最短时间加起来,判断有没有超过mid,然后改变上下界,最终找到答案。

代码:

program drying;
var
a:array[..]of int64;
n,i,m:longint; k,l,r,v,s,mid,ans:int64;
begin
assign(input,'drying.in');
reset(input);
assign(output,'drying.out');
rewrite(output);
readln(n);
for i:= to n do
begin read(a[i]); r:=r+a[i]; if a[i]>m then m:=a[i];end;
readln(k);k:=k-;
if k= then writeln(m)
else
begin
l:=;
while l<=r do
begin
mid:=(l+r) div ;s:=;
for i:= to n do
if a[i]>mid then s:=s+ord((a[i]-mid) mod k>)+(a[i]-mid) div k;
if s<=mid then begin ans:=mid; r:=mid-; end else l:=mid+;
end;
writeln(ans);
end;
close(input); close(output);
end.

POJ 3104:Drying(二分)的更多相关文章

  1. POJ 3104 Drying(二分答案)

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

  2. POJ 3104 Drying 二分

    http://poj.org/problem?id=3104 题目大意: 有n件衣服,每件有ai的水,自然风干每分钟少1,而烘干每分钟少k.求所有弄干的最短时间. 思路: 注意烘干时候没有自然风干. ...

  3. POJ 3104 Drying [二分 有坑点 好题]

    传送门 表示又是神题一道 Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9327   Accepted: 23 ...

  4. POJ 3104 Drying (二分+精度)

    题目链接:click here~~ [题目大意]: 题意:有一些衣服,每件衣服有一定水量,有一个烘干机,每次能够烘一件衣服,每分钟能够烘掉k单位水. 每件衣服没分钟能够自己主动蒸发掉一单位水, 用烘干 ...

  5. POJ 3104 Drying(二分答案)

    [题目链接] http://poj.org/problem?id=3104 [题目大意] 给出n件需要干燥的衣服,烘干机能够每秒干燥k水分, 不在烘干的衣服本身每秒能干燥1水分 求出最少需要干燥的时间 ...

  6. poj 3104 Drying(二分查找)

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

  7. POJ 3104 Drying(二分

    Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 22163   Accepted: 5611 Descripti ...

  8. POJ 3104 Drying (经典)【二分答案】

    <题目链接> 题目大意: 有一些衣服,每件衣服有一定水量,有一个烘干机,每次可以烘一件衣服,每分钟可以烘掉k滴水.每件衣服没分钟可以自动蒸发掉一滴水,用烘干机烘衣服时不蒸发.问最少需要多少 ...

  9. poj 3104 Drying(二分搜索之最大化最小值)

    Description It is very hard to wash and especially to dry clothes in winter. But Jane is a very smar ...

  10. poj 3104 dring 二分

    Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7684   Accepted: 1967 Descriptio ...

随机推荐

  1. Android(java)学习笔记81:在TextView组件中利用Html插入文字或图片

    1. TextView中利用Html插入文字或者图片: 首先我们看看代码: (1)activity_main.xml: <LinearLayout xmlns:android="htt ...

  2. python3安装pip

    wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c ...

  3. AngularJs学习笔记-组件间通讯

    组件间通讯 (1)输入属性@Input Tips:子组件属性的改变不会影响到父组件 如下,子组件中stockCode属性发生变化不会引起父组件stock属性的变化 (2)输入属性@Output 子组件 ...

  4. CentOS创建不需要输入密码的sudo用户

     linux 怎么让普通用户使用sudo权限不需要输入密码.    在网上看到很多资料,都只说到了在/etc/sudoers添加下列行即可:    username  ALL=(ALL)       ...

  5. numpy学习(二)

    ndarray的聚合操作 此博客讲的非常清楚,参照此博客即可 https://blog.csdn.net/qq_42571805/article/details/81146133

  6. arduino 语音音箱 :语音控制、MP3播放、报时、回复温湿度情况

    arduino 语音音箱 :语音控制.MP3播放.报时.回复温湿度情况 效果图 线路图 包装后的效果 功能 需要材料 arduino板 MP3播放模块及喇叭 时钟模块 温湿度模块 语音识别模块 面包板 ...

  7. DevOps - 部署系统 - Cobbler

    Cobbler简介 Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装.适用场景:需要大批量的 ...

  8. CentOS 7 bonding模式双网卡绑定

    1.1    查看系统内核是否支持bonding [root@cobbler-node1 ~]# cat /boot/config-3.10.0-693.el7.x86_64 | grep -i bo ...

  9. 数据追踪系统Zipkin 及其 Zipkin的php客户端驱动hoopak

    Zipkin是Twitter的一个开源项目,是一个致力于收集Twitter所有服务的监控数据的分布式跟踪系统,它提供了收集数据,和查询数据两大接口服务.Zipkin 是一款开源的分布式实时数据追踪系统 ...

  10. 02.VUE学习二之数据绑定

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...