可持久化
Cooook_
QAQ
展开
-
BOZJ 3551&BZOJ 3545 kruskal重构树
这题是BZOJ 3545 的增强版。。。 强制在线。。。 对于原来普通的kruskal我们不是直接连边,而是构造新的一个点来保存这个点,然后这个点的权值就是原来的这条边的权值,然后就构造了一个新的树,对于这颗树,由于对边权排过序,所以这颗树是个堆,然后对这棵树进行dfs,求出dfs序,那么可用倍增求出第一个权值大于等于x的点,用dfs序+主席树求出k小值。 #include #includ原创 2017-08-02 21:26:07 · 419 阅读 · 0 评论 -
可持久化。
强制转发一波柱子恒的讲解,有些题题解我也有QAQ。 最近跑来打数据结构,于是我决定搞一发可持久化,然后发现……一发不可收啊…… 对于可持久化数据结构,其最大的特征是“历史版本查询”,即可以回到某一次修改之前的状态,并继续操作;而这种“历史版本查询”会衍生出其他一些强大的操作。 今天,我们主要讲解可持久化线段树。其实,它的另外一个名字“主席树”似乎更加为人所知(主席%%%)。转载 2017-08-03 07:24:20 · 905 阅读 · 0 评论 -
BZOJ 3123 森林 主席树启发式合并
Description Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个非负整数表示 N个节点上的权值。 接下来 M行,每行包含两个整数x和 y,表示初始的时候,点x和点y 之间有一条无向边, 接下来 T行,每行描述一个操原创 2017-08-03 13:00:20 · 212 阅读 · 0 评论 -
BZOJ 3166 可持久化Trie
Description Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题。 现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石的能量 密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设为 ai, ai+1, …, a j,则融合而成的宝石的原创 2017-08-03 21:17:12 · 197 阅读 · 0 评论 -
BZOJ 4026 dC Loves Number Theory 主席树
题目大意 中文题,自己看。 首先phi[i] = i * (1 - p1) ... * (1 - pn) 由于每一个质因数p只用了一次,所以对区间做HH 的项链就好了. PS: 我真是太弱了,差点写吐了QAQ... #include #include #include #include typedef long long ll; #define N原创 2017-09-24 07:49:51 · 326 阅读 · 0 评论