随笔分类 -  树链剖分

摘要:Aragorn's Story - 树链剖分 - HDU 3966 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 5e4+5; int n, m, p; char op[5]; in 阅读全文
posted @ 2021-03-05 15:46 popozyl 阅读(41) 评论(0) 推荐(0)
摘要:树链剖分+BIT - FZU 2082 - 过路费 核心思路: 边权转化为点权:树上某一条边可以唯一转化为子节点的点权 BIT维护单点修改+区间查询 注意本题有多组输入,每组样例需要重新init #include <cstdio> #include <vector> #include <cstdli 阅读全文
posted @ 2021-03-02 21:33 popozyl 阅读(50) 评论(0) 推荐(0)
摘要:树链剖分 - AcWing 918 - 软件包管理器 这道题也挺板的,线段树的lazy维护区间置数即可。 #include <bits/stdc++.h> using namespace std; const int N = 1e5+5, M = N<<2; int n, m; int a, b, 阅读全文
posted @ 2021-03-02 12:01 popozyl 阅读(44) 评论(0) 推荐(0)
摘要:树链剖分 - Acwing2568 树链剖分:一个强行增加代码量的树形结构预处理,将树拆分成若干条链,以便用线段树等其他数据结构在树上进行区间操作。套上树链剖分后,将使得原本的各项区间操作复杂度再乘上一个logn(最坏情况下)。 #include <bits/stdc++.h> using name 阅读全文
posted @ 2021-03-01 21:08 popozyl 阅读(58) 评论(0) 推荐(0)