可持久化
Cooook_
QAQ
展开
-
BOZJ 3551&BZOJ 3545 kruskal重构树
这题是BZOJ 3545 的增强版。。。强制在线。。。对于原来普通的kruskal我们不是直接连边,而是构造新的一个点来保存这个点,然后这个点的权值就是原来的这条边的权值,然后就构造了一个新的树,对于这颗树,由于对边权排过序,所以这颗树是个堆,然后对这棵树进行dfs,求出dfs序,那么可用倍增求出第一个权值大于等于x的点,用dfs序+主席树求出k小值。#include #includ原创 2017-08-02 21:26:07 · 416 阅读 · 0 评论 -
可持久化。
强制转发一波柱子恒的讲解,有些题题解我也有QAQ。最近跑来打数据结构,于是我决定搞一发可持久化,然后发现……一发不可收啊……对于可持久化数据结构,其最大的特征是“历史版本查询”,即可以回到某一次修改之前的状态,并继续操作;而这种“历史版本查询”会衍生出其他一些强大的操作。今天,我们主要讲解可持久化线段树。其实,它的另外一个名字“主席树”似乎更加为人所知(主席%%%)。转载 2017-08-03 07:24:20 · 903 阅读 · 0 评论 -
BZOJ 3123 森林 主席树启发式合并
DescriptionInput第一行包含一个正整数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
DescriptionWelcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG ,如名字所见,到处充满了数学的谜题。现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石的能量密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设为 ai, ai+1, …, a j,则融合而成的宝石的原创 2017-08-03 21:17:12 · 193 阅读 · 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 · 323 阅读 · 0 评论