摘要: https://www.luogu.org/problemnew/show/P3302 看到查询第 k 小,而且是一颗树,可以联想到在树上的主席树,a 和 b 路径中第 k 小可以通过在 a, b, lca(a, b), fa[lca(a, b)] 四个节点对应的主席树上二分得到 实现主席树是很简单 阅读全文
posted @ 2018-09-06 11:25 LJC00118 阅读(488) 评论(1) 推荐(5) 编辑
摘要: https://www.luogu.org/problemnew/show/P4868 线段树上加等差数列,基础区间修改单点查询 等差数列具有可加性,当在同一段区间内时,首项相加公差相加即可 cpp include using namespace std; template inline void 阅读全文
posted @ 2018-08-31 20:52 LJC00118 阅读(305) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P4234 按照边的权值从小到大排序,依次加入,并删除能够删除的权值最小的一条边,用 set 维护当前所有边的边权,并查集维护联通性,LCT 维护两点间最小值和 link cut 操作即可 cpp include defin 阅读全文
posted @ 2018-08-31 17:57 LJC00118 阅读(206) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P4172 考虑倒序处理所有操作 先把不会被删掉的边加入图中,LCT 维护最小生成树,再倒序插入每一条边,如果边的 ( l, r ) 在同一个联通块且( l, r ) 之间简单路径最大值大于这条边的权值则删掉 ( l, r 阅读全文
posted @ 2018-08-30 23:04 LJC00118 阅读(155) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P2387 考虑先将所有边按 a 值排序,依次加入每一条边,如果这条边的两个端点 ( l, r ) 之间的简单路径中 b 的最大值大于这条边的 b 值,删掉最大的一条边,加入这条边,如果 l 和 r 不连通,则直接 link 阅读全文
posted @ 2018-08-30 21:37 LJC00118 阅读(186) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P3960 作为一个初二蒟蒻要考提高组,先做一下17年的题目 我们发现进行一次操作相当于 把第 x 行的第 y 个弹出记为 a,其余向左移 = splay 中弹出第 y 个 把第 m 列的第 x 个弹出记为 b,其余向上移 阅读全文
posted @ 2018-08-30 18:40 LJC00118 阅读(158) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P4735 令 s 数组为 a 数组的异或前缀,则题目要求的式子可变为 s[p 1] ^ s[n] ^ x,s[n] ^ x不变,则可以高效的从高位到低位贪心,凑出一个和 s[n] ^ x 异或最大的值,查询一个区间内的 s 阅读全文
posted @ 2018-08-29 21:35 LJC00118 阅读(135) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P3379 求 a 和 b 的 LCA 考虑先 access(a),此时 a 和 root 在一条链上,再 access(b) 记录最后一个被 access 遇到的点,即为 LCA ~~因为LCT常数太大所以要开O2才能过~ 阅读全文
posted @ 2018-08-29 16:24 LJC00118 阅读(195) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P3835 因为博主精力和实力有限,学不懂 fhq treap 了,因此只介绍 leafy tree 解法 leafy tree 的本质是一颗平衡线段树,它的根节点保存整颗树的信息,是不会变的,因此可以高效的实现可持久化 关 阅读全文
posted @ 2018-08-29 16:10 LJC00118 阅读(378) 评论(0) 推荐(1) 编辑
摘要: https://www.luogu.org/problemnew/show/P3224 考虑对每个岛维护一颗平衡树,用并查集维护连通性,启发式合并即可 这东西其实是一个大暴力,每次把节点少的平衡树合并到节点多的平衡树里 这样可以保证每个点合并一次树的大小 2,每个点最多被插入 log(n) 次,复杂 阅读全文
posted @ 2018-08-26 22:31 LJC00118 阅读(129) 评论(1) 推荐(1) 编辑
/*
*/