线段树

线段树

一、邻项线性函数最值

如果 f(i) 的值由 f(i1) 得来,且 f(i)f(i1) 的值仅由 aiaj 的关系得来,那么 f(i) 被称为邻项线性函数。

f(i)={f(i1)+1si1>sif(i1)si1=sif(i1)1si1<si

那么 f(i) 就是一个邻项线性函数。对于这个函数,可以证明所有 f(i) 最小值的位置的 si 值都相同,那么且这种东西的 [l,r] 区间相对大小关系是不受 l1 的位置影响的。

例题:2024.6.29T3

二、标记永久化与贡献型修改

标记永久化是针对于标记可以合并但标记难以下传(二维线段树),或下传后引发连锁反应(比如李超线段树)就需要标记永久化。

贡献型修改是指在修改的时候将修改操作的影响直接作用在,定位节点到根的路径上的所有节点,避免上传,用于易于计算贡献但难以上传的情况(比如二维线段树)。

三、线段树的不完整修改

线段树不仅可以对整个区间进行加减,也可以对区间中满足某种特点的部分信息进行加减。

举个例子,现在要对区间中的最小值的位置的贡献(注意不是那个最小值本身,不然只能分块做)进行加减,并维护区间和,那么我们只需要额外维护“区间最小值及个数,对区间最小的加标记”,我们便可以完成这种操作。

一道例题:2025.2.19的模拟赛题“好子段”,这道题前面用“【NOIP2024】线段树”的后缀和扫描线技巧可以简单转化为上述例子中的问题,于是可以做了。

作者:lupengheyyds

出处:https://www.cnblogs.com/lupengheyyds/p/18725433

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   lupengheyyds  阅读(25)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示