The Preliminary Contest for ICPC Asia Shenyang 2019

 

传送门

 

F. Honk's pool(二分答案)

•题意

  有 n 个水塘,第 i 个水塘有 ai L 水;

  最多有 k 次操作,每次操作都可以选择从水最多的水塘中取出 1L 水放入水最少的水塘中;

  求最后水最多的水塘与水最少的水塘的差值的最小值;

•题解

  二分答案;

  定义 $sum=\sum_{i=1}^{n}a_i$,那么最理想的情况就是所有池塘的水的容量都趋近于 $\frac{sum}{n}$;

  也就是说容量大于 $\frac{sum}{n}$ 的水塘要尽可能多的进行取水操作,使得其可以趋近于 $\lceil \frac{sum}{n} \rceil$;

  容量小于 $\frac{sum}{n}$ 的水塘要尽可能多的进行注水操作,使得其可以趋近于 $\lfloor\frac{sum}{n} \rfloor$;

  求解 “水多的水塘最少有多少水” 和 “水少的水塘最多有多少水” 可以二分解决;

•Code

  2019ICPC沈阳网络赛F.cpp

 

posted @ 2019-10-14 17:35  HHHyacinth  阅读(116)  评论(0编辑  收藏  举报