首页 > 其他 > 详细

leetcode887 鸡蛋掉落

时间:2020-10-29 14:19:23      阅读:27      评论:0      收藏:0      [点我收藏+]

这题朴素的O(nk n) 的记忆化搜索方法是很容易的,

但是关键就是将其中一层n的循环有效的优化成logn。

原始的情况是对

\[t \in [1,n] \]

的每一个\(t\),计算

\[min(max(f1(t), f2(t))) \]

想到这直接的想法肯定就是来个循环,遍历每一个关于\(t\)\(f1\)\(f2\),最后找到结果。

  • 但是这题巧妙的地方就在于,\(f1\)\(f2\)是有规律的,一个单调递增,另一个单调递减,如下图所示

技术分享图片

他们两个求最大最小,必然是在二者之差绝对值最小的时候取到。

而二者之差,是单调的,于是二分搜索就可以用了,至此就完成了一个O(nk logn)的解法,直接AC

leetcode887 鸡蛋掉落

原文:https://www.cnblogs.com/agnes6/p/13896097.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!