【发布时间】:2019-07-19 19:07:19
【问题描述】:
我很难理解 Convex hull 技巧。李超树更容易理解。了解 Convex hull 技巧也很重要吗?
【问题讨论】:
标签: algorithm dynamic-programming convex-hull
我很难理解 Convex hull 技巧。李超树更容易理解。了解 Convex hull 技巧也很重要吗?
【问题讨论】:
标签: algorithm dynamic-programming convex-hull
首先,你应该仔细看看 LiChao Tree (LC) 和 Convex Hull Trick (CHT) 这两种数据结构支持哪些操作。它们都解决了相同的基本问题 - 我们有一组线(线性函数)S 和操作:
现在,你应该学习哪一个?我还发现 LC 更容易理解(而且实施起来也更短)。但是,LC 有一个 CHT 没有的限制 - LC 只能回答类型 2 的查询。仅针对整数坐标 X,并且由于它与线段树非常相似,我们不能支持 X 坐标的任意大区间必须撒谎。使用 CHT,您对线的坐标和 X 的查询值没有任何限制。
在竞争性编程的背景下(我想这就是问题的来源)LiChao 树足以解决许多问题,但是 CHT 更加通用,并且可能存在一些仅用 LC 无法解决的问题。
【讨论】: