网络流 最大流和最小费用最大流原理 上下界网络流 模拟费用流 网络流建模总结 带花树 树 树上倍增 树链剖分 点分治 基环树 DP 概率期望dp 单调队列dp 状压dp 斜率优化dp 计算几何 模板 半平面交 好题 数据结构 线段树高级应用 可持久化线段树 Treap Splay 可持久化平衡树 树 ...
分类:
编程语言 时间:
2020-02-05 09:27:29
阅读次数:
86
主席树,即可持久化线段树,它是在权值线段树的基础上,记录了每个历史版本,从而可以方便快速的处理一些区间问题,最经典的应用有查询区间第 k 小。 当然,如果我们直接每次修改开一棵线段树,空间复杂度太大,肯定不行。但我们可以发现每次修改都只会改变一个结点的值,对于线段树来说,也就是只会有左儿子或者右儿子 ...
分类:
其他好文 时间:
2020-02-03 20:49:01
阅读次数:
70
区间k小数是主席树的模板题目,如果区间不包含,用莫队+权值线段树也能解 主席树是可持久化线段树,所为可持久化,就是每次只新增不一样的节点,而保留前面的版本,这样可以做到查询。 如果询问时1-r,那么直接主席树,询问的是l-r,就用到前缀和思想,具体看代码注释 #include<iostream> # ...
pass 首先,个人觉得把这个数据结构理解成树状数组套主席树是十分不严谨的。主席树的本质是可持久化权值线段树与前缀和思想的结合。而动态主席树是可持久化权值线段树与树状数组思想的结合。并非树套树般的泾渭分明的叠加。 其次,大概讲下对动态主席树的理解。我们静态主席树中,第i个版本维护的是[1,i]的权值 ...
分类:
其他好文 时间:
2020-02-02 17:35:38
阅读次数:
71
主席树的综合运用题. 前置芝士 1. "可持久化线段树" :~~其实就是主席树了~~. 2. "LCA" :最近公共祖先,本题需要在$\log_2N$及以内的时间复杂度内解决这个问题. 具体做法 主席树维护每个点到根节点这一条链上不同树出现的次数,然后发现这个东西是可以相减的,于是这条链上每个数出现 ...
分类:
其他好文 时间:
2020-01-31 21:02:56
阅读次数:
94
可持久化平衡树 圆方树 斯坦纳树 KD-tree 析合树 珂朵莉树 动态树 prufer序列 最小环 上下界网络流 LGV引理 弦图 矩阵树定理 树上启发式合并 (动态)树分治 最小树形图 图的着色 平面图 哈密顿图 lyndon分解 最小表示法 多项式加速递推 ...
分类:
其他好文 时间:
2020-01-31 10:46:04
阅读次数:
99
数据结构 1. 平衡树 2. 可持久化数据结构(主席树) 3. 莫队 4. LCT 5. 分治(点分治 + CDQ) 6. 树套树 DP 1. 后效性处理之高斯消元 2. 决策单调性 3. 树形DP(换根,倍增) 字符串 1. KMP(fail树,DP) 2. AC自动机 3. Trie(可持久化T ...
分类:
其他好文 时间:
2020-01-30 09:22:00
阅读次数:
95
一、基础概念 Q:什么是 Redis? 定义:Redis 是完全开源免费基于内存亦可持久化的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 特点: 数据的持久化 :可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 多种数据类型 :不仅仅支持简单的 key-valu ...
分类:
其他好文 时间:
2020-01-29 14:26:18
阅读次数:
76
题意: 给一个n个点的图,每个点有权值,每条边有权值。q次询问,每次询问从a出发不经过边权大于x的边能够到达的所有点中,点权第k大的值。 n<=100000,q<=500000 题解: 点权第k大的值,容易想到可持久化线段树,问题就在于如何把要查询的点转化为一段连续的区间。 考虑建立Kruskal重 ...
分类:
其他好文 时间:
2020-01-29 01:21:03
阅读次数:
89
一. 应用介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、 Key Value数据库。和Memcached类似,它支持存储的value 类型相对更多,包括 string(字符串)、list ( 链表)、 set(集合)、zset(sorted set – ...
分类:
其他好文 时间:
2020-01-23 18:13:51
阅读次数:
475