我正在解决codeforces.ru中的问题,但我无法解决问题,editorial说使用凸壳技巧。
我试着读这个,但不明白。
有谁能确切地告诉我什么是凸壳技巧吗?
提前谢谢。
最佳答案
如果你有一组直线Yi=Ai*X+Bi,那么问题是为给定的X找到最小的Yi。天真地说,你可以尝试为这个X计算所有Yi并选择最小的一个但是,如果要计算x的一系列值,则可以更好地确定yi在何处相交,然后为相交之间的每个间隔确定哪个yi最小。然后,给定X,选择相应的区间,只计算该区间上最小的Yi。
(由这里的绿线显示:http://wcipeg.com/wiki/File:Convex_hull_trick1.png)