牛客练习赛63

Contest Info


Practice Link

SolvedABCDEF
4/6 O O Ø  Ø    
  • O 在比赛中通过 
  • Ø 赛后通过
  • ! 尝试了但是失败了
  • - 没有尝试

Solutions


C.牛牛的揠苗助长

题意:

思路:

很重要的一点就是,这里的答案天数是具有单调性的。

假如$ans$是满足条件的最小天数,那么比$ans$大的天数一定能满足,因为可以用魔法抵消影响。那么随着天数的增加,对应的从不满足条件到满足条件,是有单调性的,我们可以二分天数判断,最后逼近我们的答案

接下来就是判断是某满足条件。我们肯定希望对于我们的魔法花费越少越好,明显可以转化成这个问题:在数轴上找一点使得该点到所有其他点的距离之和最小,结论就是中位数所在的点,具体证明在这里。然后判断魔法是否够用即可。对于某个天数$k$,实际上我们只需要将前$k%n$个水稻加上$1$,因为其他增长高度相同就没必要加上。

关于二分的想法:

对于二分我们最初的了解,是在一个一次函数中,对于要求的点$(x,y)$,已知$y$,对于包含$x$值的区间二分,根据函数值与$y$比较,逐步靠近要求的点,直到最终求出要求的点。

严格来讲答案具有单调性的问题都可以用二分来解决,对于答案类似于一个一次函数,通过不断判断答案是否满足缩小区间。

可能像这题最开始的时候根本不会往二分去想,甚至看完题解你还没明白为什么有单调性。实际上你可以把我们需要判断的条件看成一个函数,随着$x$的增加,对应$y$从不满足条件到满足条件,也是具有单调性的。

 

原文地址:https://www.cnblogs.com/wizarderror/p/12856085.html