专栏文章
题解:P12767 [POI 2018 R3] 围栏 Fence
P12767题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @min63ypc
- 此快照首次捕获于
- 2025/12/01 21:11 3 个月前
- 此快照最后确认于
- 2025/12/01 21:11 3 个月前
首先考虑一个暴力的思路。我们枚举 最小的点,然后按极角排序,设 DP 状态 表示我们凸多边形的前两个点是 两个点,目前的凸多边形价值的最大值,需要预处理 两个点与最低点形成的三角形内所有点的价值和 ,单次 DP 和预处理贡献都是 的,那么总复杂度就是 的。
接下来考虑优化这个做法。枚举最低点的过程显然是不太能去掉的,于是我们考虑优化转移的过程和 的求值。
先思考如何优化 的求值。

我们考虑固定 ,尝试快速求出 的取值。我们将对最低点极角排序后排名在 之后的点拉出来,再做一次极角排序,对于一个 ,其他的点 能对 产生贡献的条件是, 且保证 在新的极角排序中的排名大于 (不合法情况参见上图),那么我们按 排序后,用 BIT 维护排名小于某个值的 之和即可,单次 的取值的时间复杂度优化到了 。
接下来考虑优化转移。

对于连续的三个点 ,其合法可以视作,若按极角排序,那么 边的反向延长线的排名小于 边的排名。那么我们枚举中间点转移,然后排序后维护前缀 值即可,单次时间复杂度也是 。
那么总的时间复杂度就是 ,跑不满,可以轻松通过。图画得可能比较抽象。
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...