BZOJ 5106 [CodePlus2017] 汀博尔


题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=5106

题意:

有 n 棵树,初始时每棵树的高度为 Hi,第 i 棵树每月都会长高 Ai。现在有个木料长度总量为 S 的订单,客户要求每块

木料的长度不能小于 L,而且木料必须是整棵树(即不能为树的一部分)。现在问你最少需要等多少个月才能满足

订单。


显然答案具有二分性,所以可以二分答案。

不过二分的上界不能太大,否则会爆 long long,考虑一下发现统计答案的时候每一项是\(mid*a_i+h_i\),所以记 mx 为最大的\(a_i\),上界为\(\frac{S}{mx}+1\) 即可。

结果 WA 了,本机测一下发现有 85pts,wa 在了没有考虑 L 很大 S 很小的情况,默认了 S 远大于 L,所以上界在\(\frac{L}{mx}+1\) 和\(\frac{S}{mx}+1\) 间取个 max 即可。

 

声明:zgz233|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - BZOJ 5106 [CodePlus2017] 汀博尔


一个oier的博客 |注册功能过几天就修| 博客搬家啦,现在跑的飞快!

标签: ,