随笔分类 - 数据结构 - 动态树
摘要:题目大意:给定一个 N 个点,M 条边的无向图,边有两个边权 a, b,求从 1 号节点到 N 号节点路径的两个权值和的最大值最小是多少。 题解: 对于有两个属性的结构的最优化问题,可以考虑先按照其中一个分量进行排序。接着从小到大枚举这个有序的分量,计算以当前枚举到的值为这一分量的最大值时,全局的最
阅读全文
摘要:代码如下 cpp include using namespace std; typedef long long LL; const int mod = 51061; struct node { node l, r, p; int rev, val; LL sum, add, mul, sz; nod
阅读全文
摘要:题目大意:给定 N 个点,M 条边的无向图,支持两种操作:动态删边和查询任意两点之间路径上边权的最大值最小是多少。 题解: 引理:对原图求最小生成树,可以保证任意两点之间的路径上边权的最大值取得最小值。 证明:任取两点 x, y,若 x, y 的路径上最大值最小的边不在最小生成树的路径上,可以将那条
阅读全文
摘要:$LCT$ 是解决动态树问题的一种强力的数据结构,这种数据结构维护的是由若干 $splay$ 节点构成的森林。 $LCT$ 结构中采用了实链剖分的策略,即:将树边划分为实边和虚边,其中实边指的是 $splay$ 节点通过节点中儿子指针相连的边,虚边指的是通过父节点指针相连的边。实边所构成的所有点在同
阅读全文

浙公网安备 33010602011771号