随笔分类 -  线段树

摘要:动态维护树上最小点覆盖 $n \leq 100000$ sol:动态 dp,请 先写一个树上的 dp $f_{(x,0)} = \sum f_{(to,1)}$ $f_{(x,1)} = v_x + \sum f_{(to,0)}$ 首先考虑链上的情形 链上的转移方程非常的清真,它是 $f_{(x, 阅读全文
posted @ 2019-04-18 17:27 探险家Mr.H 阅读(350) 评论(0) 推荐(0)
摘要:因为机房里的小伙伴都在看《你的名字。》而我不想看 所以来写了这道题... 给一个 $S$ 串,$q$ 次询问,每次一个 $T$ 串,问 $T$ 有多少没在 $S[l,r]$ 中以子串形式出现过的本质不同的子串 $|S|,q \leq 5e5,\sum |T| \leq 5e5$ sol: 容斥一下就 阅读全文
posted @ 2019-04-04 22:59 探险家Mr.H 阅读(271) 评论(0) 推荐(0)
摘要:T1 HNOI2015 实验比较 给 $n$ 个有权值的物品,$m$ 条消息,消息可以是“小于”或者“等于”,一个物品只会与一个小于等于它的东西比较,求最后权值排名方案数 mod 998244353 $n \leq 500$ sol: 考场上自闭了,考出来更自闭 相等的节点缩起来,是一个森林,你要做 阅读全文
posted @ 2019-03-22 22:09 探险家Mr.H 阅读(342) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-03-21 14:42 探险家Mr.H 阅读(23) 评论(0) 推荐(0)
摘要:T1 给一棵树,每次求链第 $k$ 小,之后把这条链赋值为 $(ans \times x + y)\space mod \space p$ $n \leq 200000$ sol: 树剖,每条重链维护一个珂朵莉树,暴力就完事了 这题不随机复杂度也是对的,因为每次操作完必推平,相当于每次操作最多增加常 阅读全文
posted @ 2019-03-15 21:42 探险家Mr.H 阅读(210) 评论(0) 推荐(0)
摘要:一棵带边权的树,多次询问 $x$ 到编号为 $[l,r]$ 的点最短距离是多少 $n \leq 100000$ sol: 动态点分治,每层重心维护到所有点的距离 查询的时候在管辖这个点的 log 层线段树里查就可以了 因为这样每一层的答案只会漏而不会错,所以正确性有保障 不会写点分治了...orz 阅读全文
posted @ 2019-03-11 15:21 探险家Mr.H 阅读(360) 评论(0) 推荐(0)
摘要:一棵树,每个点有点权,多次操作 1.单点修改一个点的点权 2.询问有多少棵子树点权异或和为 $k$ $n \leq 30000,k \leq 128,q \leq 30000$ sol: 动态 dp 为防止自己忘,再写一遍 一个点的 dp 值 = $\sum dp_{轻儿子} + dp_{重儿子}$ 阅读全文
posted @ 2019-03-11 09:31 探险家Mr.H 阅读(267) 评论(0) 推荐(0)
摘要:一个序列,每个物品有三个权值 $A,B,C$ 要求维护: 1.区间 $A_i+=B_i$ 2.区间 $B_i+=C_i$ 3.区间 $C_i+=A_i$ 4.区间 $A_i+=v$ 5.区间 $B_i \times = v$ 6.区间 $C_i = v$ 7.询问区间 $A,B,C$ 各自的和 线段 阅读全文
posted @ 2019-03-07 18:55 探险家Mr.H 阅读(303) 评论(0) 推荐(0)
摘要:sol: 题面看吐了,实际上操作就是 1.access 2.makeroot 3.查询一个点到根上有多少虚边 1. 和 2. 可以 access ,每次断掉的轻边子树 -1,新连的轻边子树 +1 ,用线段树维护一下子树即可,类似树剖套线段树的方法换根 顺便复习一下换根 1.如果当前点在根的子树里,直 阅读全文
posted @ 2019-01-10 15:13 探险家Mr.H 阅读(196) 评论(0) 推荐(0)
摘要:有一个一开始为空的集合,每次加入一个数或者删除一个数,每次查询这个集合选出若干个数异或起来的最大结果 $n \leq 100000$ sol: 学了一波线性基 大概就是 1.插入一个数(其中 v 的大小是 logn) 2.查询当前集合最大异或和 其余的操作就没有了,合并的话是启发式合并,删除不资瓷, 阅读全文
posted @ 2019-01-09 14:45 探险家Mr.H 阅读(166) 评论(0) 推荐(0)
摘要:一个有点权和边权的二叉树,多次询问点权在 $[L,R]$ 的点到 $u$ 的距离和 $n,q \leq 100000$ sol: 1.点分治 建出分治树的结构,考虑计算距离的过程 我们知道 $dis(u,v) = dep_u + dep_v - 2 \times dep_{lca}$ 因为树高是 l 阅读全文
posted @ 2019-01-03 16:05 探险家Mr.H 阅读(154) 评论(0) 推荐(0)
摘要:好像只有一个串串题可以做... 不会 dp 和数据结构啊 QAQ 10 + 20 + 100 = 130 T1 一棵树,每个点有一个能量的最大容量 $l_i$ 和一个增长速度 $v_i$,每次可以选一个点,给 q 个时刻,每次把这个子树里和它距离不超过 k 的点的能量全都拿走,求每次拿走了多少 $n 阅读全文
posted @ 2018-12-17 19:22 探险家Mr.H 阅读(326) 评论(0) 推荐(0)
摘要:得分非常惨惨,半个小时写的纯暴力 70 分竟然拿了 rank 1。。。 如果 OYJason 和 wxjor 在可能会被爆踩吧 嘤 T1 欧拉子图 给一个无向图,如果一个边集的导出子图是一个欧拉回路,则 ans 加上这个边集边数的平方,求 ans ,膜 998244353 $n,m \leq 152 阅读全文
posted @ 2018-12-03 19:43 探险家Mr.H 阅读(285) 评论(0) 推荐(0)
摘要:其他的题好像不可做呢 QAQ 我太菜了 QAQ uoj266 Alice 和 Bob 又在玩游戏 给一个有根树森林,Alice 和 Bob 两个人每次选择一个点 x,删除 x 和 x 所有祖先,不能操作的人输,求赢的是谁 sol: 考虑 SG 函数,如果删除根节点,后继状态就是所有儿子为根的游戏,把 阅读全文
posted @ 2018-12-03 17:18 探险家Mr.H 阅读(234) 评论(0) 推荐(0)
摘要:不知道为什么要把这两个没什么关系的算法放到一起写...可能是都很黑科技? 1.线段树分治 例题:bzoj4026 二分图 给你一个图,资瓷加一条边,删一条边,询问当前图是不是二分图 如果用 LCT 的话我们要维护关于删除时间的最大生成树,然后每进来一条边判断奇环,就很难写 线段树分治可以很好的解决这 阅读全文
posted @ 2018-11-28 20:45 探险家Mr.H 阅读(547) 评论(0) 推荐(0)
摘要:T1 少膜一个,T3 暴力写挂 强势 rank1 -> rank2 一场比赛两道线段树分治,给力 T1 password 给你 m 个禁止字符串,求长度为 n 的所有字符串中至少包含这些禁止字符串各一次的字符串数量 $n \leq 10^9,m \leq 4,\sum len \leq 50$ so 阅读全文
posted @ 2018-11-26 20:37 探险家Mr.H 阅读(208) 评论(0) 推荐(0)
摘要:给一个 $n$ 个点的带权树,每次修改一个点的权值,或者询问到 $x$ 距离不超过 $k$ 的点的权值和,强制在线 sol: 套路题,首先搞出一个点分树,每个重心,以到重心的距离为下标,点权为权值建两棵线段树,一个用来统计答案,一个用来消除对父节点的影响 每次修改和讯询问都是暴力爬树高,在经过的每棵 阅读全文
posted @ 2018-11-06 10:38 探险家Mr.H 阅读(322) 评论(4) 推荐(0)
摘要:在某咕上打了一晚上的模板 感觉还好。。。 #include<bits/stdc++.h> #define LL long long using namespace std; inline int read() { int x = 0,f = 1;char ch = getchar(); for(;! 阅读全文
posted @ 2018-11-05 20:36 探险家Mr.H 阅读(214) 评论(1) 推荐(0)
摘要:给你一个数列,在相邻两个数之间插入加号,减号或乘号 每次支持单点修改,求所有这样可以得到的表达式之和,膜1e9 + 7 sol: 我是个 sb 。。。 可以发现,如果某位置出现了加号,后面一定有一个减号把它消掉,于是答案就是一些出现了好几次的前缀积之和 算一下每段前缀积的贡献即可 #include< 阅读全文
posted @ 2018-11-01 08:19 探险家Mr.H 阅读(356) 评论(0) 推荐(0)
摘要:给一个图,每个点有点权,$q$ 次询问从 $x$ 开始只走点权小于等于 $y$ 的路径能到的点中第 $k$ 大的点权,无解输出 -1 强制在线 请注意因为这个 sb 博主为了描述方便,这里的题目描述用的字母跟原题有出入,题解跟跟这里的题目描述一样,不一定跟 bzoj 上一样( $n \leq 10^ 阅读全文
posted @ 2018-10-25 20:49 探险家Mr.H 阅读(154) 评论(0) 推荐(0)