什么是Convex船体技巧?

时间:2013-07-24 12:56:58

标签: algorithm dynamic-programming

我正在从codeforces.ru解决问题,但我无法解决问题,而社论说(http://codeforces.com/blog/entry/7785)使用凸壳技巧。

我试着阅读这篇关于凸壳技巧(wcipeg.com/wiki/Convex_hull_trick)的文章但是无法理解它。

谁能告诉我究竟是什么是凸壳技巧?

提前感谢。

1 个答案:

答案 0 :(得分:5)

如果你有一组行Y i = A i * X + B i ,那么问题是找到最小的Y对于给定的X, i 。您可以尝试评估此X的所有Y i 并选择最小的一个。但是如果你想评估X的一系列值,那么你可以更好地确定Y i 相交的位置,然后对于交叉点之间的每个间隔确定哪个Y i 是最小的。然后,给定一个X,您可以选择相应的区间,并仅评估该区间内最小的Y i

(由绿线显示:http://wcipeg.com/wiki/File:Convex_hull_trick1.png