随笔分类 - 数据结构-线段树
摘要:https://loj.ac/p/6062 考虑给 \(b\) 和 \(a\) 要匹配的子串分别排序,则肯定是最大最小、次大次小来匹配 具体的,设 \(c_i\) 表示 \(a_i\) 能和 \(b\) 中多少数匹配成功,则给 \(c_i\) 排序后应满足 \(c_i\ge i\) 但这个条件不好维
阅读全文
摘要:https://loj.ac/p/6498 考虑什么时候节点 \(u\) 是可以拿到肥料的 他往根走,走到过程中如果是作为一个右儿子走上 \(fa\),则有一个要求 \(w_u>w_{fa}\),若作为一个左儿子走上,则有一个要求 \(w_u<w_{fa}\) 于是树剖+线段树,维护作为右儿子网上走
阅读全文
摘要:https://loj.ac/p/6507 考虑线段树维护区间或 \(o\) 和区间与 \(a\),对于区间和 \(k\) 与的操作: 若 \(o \operatorname{and} k=o\),则说明每个此区间有 \(1\) 的位 \(k\) 也都是 \(1\),操作在此区间没用 若 \(o \
阅读全文
摘要:https://www.luogu.com.cn/problem/CF842E 考虑树的直径有性质:当存在多条直径,若长度为偶数,则它们交于一点,且为直径中点;若长度为奇数,则交于中间那条边。 于是记录下直径的中点(或中间那条边),同时对每个点维护到中点的距离 那么查询的时候,答案就是这个距离的最大
阅读全文
摘要:https://www.luogu.com.cn/problem/P5069 首先对于最大的那个数,两侧的两数要跟着他一起下降,所以它们永远不会成为最大得到,那不妨直接让这个最大的减成 $0$,同时,两侧两数也就也变成 $0$ 了 然后再去找下一个最大的 所以只要求哪些数会成为当前最大的,计算它们的
阅读全文
摘要:https://www.luogu.com.cn/problem/P3747 线段树+欧拉公式+预处理快速幂 由于 \(a^c \bmod p = a^{c\bmod \varphi (p)+\varphi(p)} \bmod p,(c>\varphi(p))\) 那么可以一层一层的迭代上去,由于
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6315 线段树维护,只要某个区间里有一个数能加出一个新的 \(b_i\) 来就递归下去,并更新答案 当然如果没有任何一个数能加出 \(b_i\) 就停止递归 由于每次只会加一,所以一共最多加 \(m\),而 \(b
阅读全文
摘要:https://www.luogu.com.cn/problem/P4585 线段树分治+可持久化 trie 如果只有特殊商品,那么直接一个可持久化 trie,根据异或的性质,在 trie 上贪心走路径就行了 所以这部分特殊商品单独维护,考虑其他普通商品如何维护 考虑以商店编号为下标,建立线段树。那
阅读全文
摘要:https://www.luogu.com.cn/problem/P5787 同BZOJ4025 \(n\) 个点的图,\(m\) 条边分别在各自的 \([l,r]\) 时间段内会出现,对于 \([1,k]\) 内每个时间点求这个图是否是二分图 用到了线段树分治,就是以时间为下标建立一个线段树,然后
阅读全文
摘要:https://www.luogu.com.cn/problem/P5494 线段树合并在这里:https://www.cnblogs.com/suxxsfe/p/13839555.html 这个分裂其实和 fhq-treap 有点像,就是把一棵树分裂为两棵树,把第一棵树中的 \([l,r]\) 节
阅读全文
摘要:https://www.luogu.com.cn/problem/P1552 线段树合并 题意就是,在一棵树中,每个点有一个花费,还有一个权值,需要找出一堆点,使得它们的花费总和小于等于 \(m\),且全都在同一子树中,最大化点的个数乘以这个子树的根的权值 子树的根可以不选 枚举子树的根,肯定是选子
阅读全文
摘要:http://codeforces.com/problemset/problem/600/E 题意:给一个树,每个点有一个颜色,让你对于每个点,求以他为根的子树中,颜色是 出现数量最多的颜色 的节点,的编号和(如果有多个出现数量最多的颜色,都算),\(n\le 10^5\) 线段树合并 用到线段树合
阅读全文
摘要:https://www.luogu.com.cn/problem/P3960 看有写平衡树的,不过其实发现由于这个题插入的点都是在边上,所以完全可以用一个动态开点的线段树来做 用 \(n+1\) 个线段树来维护,前 \(n\) 个分别维护 \(n\) 行的 $1$ 到 \(m-1\) 位置的点,第
阅读全文
摘要:https://darkbzoj.tk/problem/2238 树链剖分+线段树 给定一个无向带权图,多次询问,每次指定删除一条边,问删除之后图最小生成树的权值和,询问互相独立 其实还是比较简单的 考虑先把给定图的最小生成树跑出来 如果删除的边不在最小生成树上,那显然没有影响,直接输出权值和 如果
阅读全文
摘要:https://darkbzoj.tk/problem/3600 https://www.luogu.com.cn/problem/P6272 替罪羊树动态标号+线段树 这个东西应该是叫动态标号吧,反正我看别的大佬是这样说的 题意: 定义了新的一种数,递归的定义为:\((x,y)\) 或 $0$,其
阅读全文
摘要:点分治 一般可以用于处理大规模树上路径问题 既然是处理路径问题,那么可以把路径分成两种,经过当前根节点的路径,不经过当前根节点的路径 处理完经过当前根节点的路径,然后删掉根节点,此时肯定会形成一个或多个子树,那么剩下的不经过当前根节点的路径,递归到这些子树中处理 删掉的节点肯定在接下来的处理中就不会
阅读全文

浙公网安备 33010602011771号