如果存在凸函数 $f(x)$,我们无从得知其在某个 $x$ 处的值,但是可以求出某个斜率的直线切它时切点的位置。注意到切点的横坐标关于直线斜率存在单调性,可以依此二分,找出任意一个与凸包切于该点的一次函数,即可计算出该函数在某个 $x$ 处的值。
如果存在凸函数 $f(x)$,我们无从得知其在某个 $x$ 处的值,但是可以求出某个斜率的直线切它时切点的位置。注意到切点的横坐标关于直线斜率存在单调性,可以依此二分,找出任意一个与凸包切于该点的一次函数,即可计算出该函数在某个 $x$ 处的值。
对于方案难以通过贪心或 DP 直接构造的题目,可以尝试二分答案后贪心或 DP。
以及这道题要求所有树长成时间的最大值最小,提示我们二分答案。
对于每个节点,给定它长成的最后期限后,可以计算出种下它的最后期限。
至于父亲种下时间 $t_u$ 必须早于儿子种下时间 $t_v$ 的限制,我们令
$$\displaylines{t'_u=\min\{t_u,\min_v t_v-1\} }$$以 $t'_u$ 为修正后的种植最后期限,忽略祖先关系之间的限制,如果能够构造出任意一组合法方案,那么不断交换所有不满足限制的父亲和儿子,一定在有限步内结束,构造出一组满足限制的方案。
判断是否存在一组忽略祖先关系限制后的方案,只需按照 $t_u'$ 从小到大排序,贪心选取即可。