随笔分类 - 线段树
摘要:线段树合并 线段树合并,听起来很高端,其实就是把两棵线段树相加。 引用一下一位大佬的图: 具体地说,每次合并操作我们考虑将 \(o_2\) 这棵树的信息加到 \(o_1\) 上,那么我们就遍历二者区间。 对于 \(o_1\) 没有但 \(o_2\) 有信息的区间,直接将 \(o_2\) 树上的节点接
阅读全文
摘要:T2 比 T1 简单? 可以发现,讨论的情况数不是很多。可以直接用线段树查询然后暴力讨论就好了。 (写的好丑) #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long #define i
阅读全文
摘要:~~高考完后随机跳题的复建运动。~~ 看到区间覆盖操作考虑线段树。 30种颜色?用位运算存储节省空间。因为在线段树上传合并时只需要考虑这一段是否存在该颜色,(即$0$或$1$)具体位置和长度都不用考虑。(以下简称为“颜料桶”) $pushup$操作:直接暴力30种颜色对比两个儿子,记录下颜色存在状况
阅读全文