2023/8/5 ZR B 经典数据结构 听课总结

树状数组

单点加:前后缀和。

线段树

对于信息群 \(I\),标记群 \(D\),满足:

  • 信息结合律:\(a,b,c\in I,(a+b)+c=a+(b+c)\)
  • \(a\in I, b\in D,a+b\in I\)
  • 标记可下传(标记可以集体下放更新到子节点的信息):\(a\in I,b,c\in D\)\((a+b)+c=a+(b+c)\)
  • 标记满足结合律(标记可以和子节点的标记合并):\(a,b,c\in D,(a+b)+c=a+(b+c)\)
  • 标记提前计算(在一点打上标记时,直接更新维护的信息):\(a,b\in I, c\in D\)\((a+b)+c=(a+c)+(b+c)\)

标记永久化

直接在结点上永久更新标记。

标记额外满足交换律:\(a,b\in D, a+b=b+a\)

动态开点

维护有效部分的虚树。

扫描线

矩形面积并

维护 \(\sum_i[i=\min]\text{len}_i\)

不交线段扫描线

维护若干线段。端点加删,维护相对关系。

变形:将其他信息抽象成二维点。

trick:

树剖,树链转区间。己酸集合(某点下的直线条数)对直线分块。

矩形内线段长度,转化为二维一次函数数点。

CDQ

多维偏序。也可以优化 DP。

带修二维偏序可以转化为带时间戳的三维偏序。CDQ。

镜中的昆虫

经典转化:颜色数维护 lst,转化为 (i,lst) 的二维数点。

涉及修改:删旧加新,维护时间戳,转化为二维数点。均摊正确。

Longest Increasing Subsequence

列出式子,把 \(\max\) 转为一维条件。

二分

线段树维护第 \(k\) 小。

\(\min(a,b)\) \(a\) 单增 \(b\) 单减的形式,找 \(a<b\)\(a>b\)

树状数组二分。

平衡数二分。

线段树合并

线段树合并,分裂。

树上路径:差分。

排序操作:均摊,维护有序段。

DP min 转移式:图像分析。

时光倒流。

posted @ 2023-08-16 17:02  Network_Error  阅读(13)  评论(0)    收藏  举报