/** * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug * Copyright (c) <spug.dev@gmail.com> * Released under the AGPL-3.0 License ...
分类:
其他好文 时间:
2020-09-18 03:09:45
阅读次数:
39
Splay: 像BST(二叉搜索树)一样插入查询,可以改变树的形状,可以区间翻转,可以实现动态树,不可持久化。 核心代码: 1 void rotate(int a) // 旋转 2 { 3 int b = fa[a], c = fa[b]; 4 int k = son[b][1] == a, w = ...
分类:
其他好文 时间:
2020-07-18 00:54:56
阅读次数:
87
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> #include<climits> #include<stack> #include<vector> #include ...
分类:
其他好文 时间:
2020-07-05 19:30:34
阅读次数:
54
简介 一般的树上带修改问题,树剖(轻重链剖分)就可以搞定了,但是万一有连边、断边之类的东西?Good Game. 我们想一想,什么数据结构能处理移动点的问题?平衡树。 那我们就尝试把平衡树挪到树上,这时我们的树剖方式就叫做实链剖分。 定义与性质 先给定义。 实边:包含在一个splay中的边。一条实边 ...
分类:
其他好文 时间:
2020-02-29 13:19:31
阅读次数:
65
学习了LCT以后,本蒟蒻看着某F巨佬给的题单,深深地表示无能为力。 刚刚开始学,肯定要先打打板子,怎么还上思维呢? 你觉得给一个初学者做三叉神经树真的好吗??? 在我的不懈努力下,给大家找到了一些练手的板子题,抓紧机会把板子练熟!!! 1.P3690【模板】Link Cut Tree (动态树) 2 ...
分类:
其他好文 时间:
2020-02-18 16:29:32
阅读次数:
75
Link Cut Tree: #include<bits/stdc++.h> #define L(x) T[(x)].son[0] #define R(x) T[(x)].son[1] #define fa(x) T[(x)].fa using namespace std; const int N= ...
分类:
其他好文 时间:
2020-02-02 23:32:57
阅读次数:
68
可持久化平衡树 圆方树 斯坦纳树 KD-tree 析合树 珂朵莉树 动态树 prufer序列 最小环 上下界网络流 LGV引理 弦图 矩阵树定理 树上启发式合并 (动态)树分治 最小树形图 图的着色 平面图 哈密顿图 lyndon分解 最小表示法 多项式加速递推 ...
分类:
其他好文 时间:
2020-01-31 10:46:04
阅读次数:
99
$Link\ Cut\ Tree$(动态树)用实链剖分来实现,维护的对象为一个森林,将原树剖分为若干个辅助树,辅助树用$Splay$来维护 辅助树内部用实边连接,辅助树之间用虚边连接,虚边总是由一棵$Splay$指向另一棵$Splay$的根,即为其中序遍历的第一个点 因为虚边是$Splay$之间相连 ...
分类:
其他好文 时间:
2020-01-22 22:13:15
阅读次数:
123
<学习计划> 一、重点学习新算法 1.平衡树splay,动态树LCT 2.(任意模数)NTT 3.莫队算法 4.带修主席树(树状数组套主席树),线段树/树状数组套平衡树 5.后缀数组/后缀自动机 二、刷题,复习、巩固在OJ上打星号的题目 <注意事项> 1.考试时无论题目有多难,都要努力想正解,不要理 ...
分类:
其他好文 时间:
2020-01-21 00:32:52
阅读次数:
92
联赛前练练码力. code: #include <vector> #include <cstdio> #include <cstring> #include <algorithm> #define N 200006 #define ll long long #define lson t[x].ch[ ...
分类:
其他好文 时间:
2019-11-10 11:55:24
阅读次数:
119