专栏文章

悬线法与单调栈

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mio4bk7l
此快照首次捕获于
2025/12/02 13:08
3 个月前
此快照最后确认于
2025/12/02 13:08
3 个月前
查看原文

用于求解二维最大全 1 子矩形/一维最大子矩形面积

一,悬线法
分别从小到大和从大到小递推 lil_i,rir_i 表示 ii 往左往右最远能到哪个点,由于具有传递性,可以使 li=lli1l_i=l_{l_i-1},可以证明时间复杂度 O(n)O(n)
二,单调栈
ai>ai+1a_i>a_{i+1},则 aia_i 超过的那部分完全没用,故将 iii+1i+1 合并,更新宽度计算答案。
三,笛卡尔树
以下标和权值为关键字建树,记录权值乘以子树大小的最大值。
四,说一下悬线法与单调栈。
悬线法:类似 dpdp,大多情况下也能用单调栈解。
单调栈:由于后面的答案一定不能恰好延伸到违反单调性的点(不在单调栈中的点),将有单调性的点(在单调栈中的点)与前面没有单调性的点的贡献合并(在本题中是宽度)。

评论

0 条评论,欢迎与作者交流。

正在加载评论...