关闭
当前搜索:

[LCT] BZOJ 4817 [Sdoi2017]树点涂色

怎么萎事啊 sdoi怎么有这么多原题 看着这么眼熟 就是我们发现这个染色就是LCT上一个access的过程 而一个点到根路径的颜色数就是到根虚边数加1 这个我们可以access的时候顺便在线段树上子树修改下 而两个点之间的路径颜色数就是加一加再减去lca的两倍然后再加1 那个加1是指lca所属的颜色 子树最大值 直接线段树上查咯#include #include<cst...
阅读(187) 评论(0)

[LCT || splay维护括号序列] BZOJ 4573 [Zjoi2016]大森林

题解爸爸戳这里splay维护括号序实在不敢尝试 建虚点LCT 还是很资瓷的哇 正如dls所说的 小清新数据结构 注意的是求两点距离 不能直接拉出那条链 而是要求LCA 然后我发现我不会求LCA了#include #include #include #include using namespace std;inline ch...
阅读(300) 评论(0)

[最小极差生成树 LCT || 二分答案 CDQ分治 并查集] Ural 2055 Urban Geography

把边按权值大小排序 然后用LCT按时间维护下最大生成树 就好了#include #include #include #include #include using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;...
阅读(244) 评论(0)

[LCT 树状数组] HDU 5333 Undirected Graph

这个题跟 [LCT 主席树] BZOJ 3514 Codechef MARCH14 GERALD07加强版有异曲同工之妙 考虑询问按右端点排序 对于一条边 边的权值定义为较小的一端的编号 那么显然权值大的边更有利 对于每个右端点 我们加入所有新增的边 维护最大生成树 询问么 就是n-生成树中编号大于等于左端点 因为这样的边会把两个联通块连在一起#include #...
阅读(127) 评论(0)

[LCT 主席树] BZOJ 3514 Codechef MARCH14 GERALD07加强版

N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 先预处理 按时间做一通最大生成树 每次加边 ii 替换树上的最小边 记这条边为 a[i]a[i] 特殊的 如果本来不连通 a[i]=0a[i]=0 如果是自环 a[i]=ia[i]=i对于每个询问[l,r][l,r],统计区间[l,r][l,r]中有多少个数小于ll,用nn去减即可得答案 为什么呢 因为替换了...
阅读(171) 评论(0)

[后缀自动机 LCT] BZOJ 2555 SubString

构建后缀自动机 parent树会改变形态 这样|right(x)|也会发生变化 我们用LCT大力维护一发就好了#include #include #include #include using namespace std;inline char nc(){ static char buf[100000],*p1=buf,...
阅读(127) 评论(0)

[LCT维护最小生成树 || CDQ分治 || 线段树 并查集 dfs树] Codeforces 603E #334 (Div. 1) E. Pastoral Oddities

这是个好题啊 这种数据结构题和dfs树有什么关系呢 唯一的关系就是 一个联通块当且仅当有偶数个点时能满足存在边集的一个子集每个点度数为奇数 或者更一般的结论 当一个联通块中每个点的度数奇偶性要求之和是偶数 那么存在 然后我们就转化为一些边使得每个联通块为偶数 这个出题人的标算我没看懂啊 LCT在线维护最小生成树? http://codeforces.com/blog/entry/21...
阅读(558) 评论(0)

[LCT 边双连通分量缩点] BZOJ 2959 长跑

一个边双连通分量肯定可以定向成一个环 那么就缩点 每次连接 要是本来不连通 就连起来 连通的话就把树上路径全缩起来 询问就是树上路径的值 #include #include #include #include #include #include using namespace std; typedef pair abcd; typ...
阅读(189) 评论(0)

[LCT 动态最大生成树] HDU 5398 GCD Tree

一个数肯定是和自己约数连更优 那么就是动态维护最小生成树 两个log #include #include #include #include #include #include using namespace std; typedef pair abcd; typedef long long ll; inline char nc(){ static...
阅读(160) 评论(0)

[一类维护形态树和值树的LCT] BZOJ 3159 决战

直接上题解吧 有空去看看那篇集训队论文 #include #include #include #include #define dprintf(...) fprintf(stderr,__VA_ARGS__) using namespace std; typedef long long ll; inline char nc(){ static char buf[100...
阅读(311) 评论(0)

[一类子树修改的LCT] Tsin 1506 Missing On The Tree

调了我一晚上 想法很好:http://ezreal-dn.com/archives/124 但是因为我作死 实现细节按照自己的习惯搞搞搞 结果WA到爆炸 总算是调出来了 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;...
阅读(202) 评论(0)

[Splay模拟 线段树 || Splay || LCT] HDU 4942 Game on S♂play

做法颇多 算法一 形式化地描述要进行什么操作。 旋转节点:link/cut 。 更改两个点的子树和:单点修改。 询问一个点子树内子树和的积:子树询问。 可以在LCT上维护轻儿子信息(小Toptree),这样就可以子树询问 了。轻重边切换的时候顺便维护这个。 复杂度O(n log n),期望得分70 - 100分。 算法二 子树询问的是积,具有可减性。 可以转化...
阅读(448) 评论(0)

[LCT || 分块] IOI 2011 Elephants

分块做法 fhq Orz LCT做法 rzz Orz #include #include #include #include #include using namespace std; typedef pair abcd; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; i...
阅读(200) 评论(0)

[CDQ分治 并查集 || LCT] BZOJ 4025 二分图

Po姐的姿势:http://blog.csdn.net/popoqqq/article/details/45671813 LCT的做法: 考虑随便维护一个图的生成树,不难发现,如果一条边加入后,形成奇环的话就不是二分图 否则的话,我们可以无视这条边,因为如果之后再新加入一条边和这条边形成了一个奇环 那么新加入的边一定和原来生成树上的边也能形成奇环 所以我们直接维护一棵生成树即...
阅读(302) 评论(0)

[LCT 线段树 dfs序] BZOJ 3779 重组病毒

%%%PoPoQQQ http://blog.csdn.net/popoqqq/article/details/45919545 ”题目大意:给定一棵树,初始每个点都有一个颜色,支持三种操作:  1.将某个点到根的路径上所有点染上一种新的颜色  2.将某个点到根的路径上所有点染上一种新的颜色,然后把根设为这个点  3.定义一个点的代价为这个点到根路径上颜色的种类数,求某个点子树中所有点...
阅读(400) 评论(0)

[LCT 组合 期望] BZOJ 3091 城市旅行

%%%PoPoQQQ:http://blog.csdn.net/popoqqq/article/details/40823659 第四个操作怎么办?!做过2752就好了 #include #include #include #define V G[p].v using namespace std; typedef long long ll; inline char nc() { s...
阅读(210) 评论(0)

[LCT 线性模方程] BZOJ 2759 一个动态树好题 & 4266 小强的动态方程

%%%PoPoQQQ:http://blog.csdn.net/popoqqq/article/details/40436165 “题目大意:给定n个形如xi=ki*x_pi+bi mod p的同余方程组 支持修改操作和求解操作 确实好题 感谢此题作者 顺便吐槽一下作者的Splay不加空节点太蛋疼了0.0 将每个点i的父亲设为pi 我们将会得到一座基环树林 将环上的一条边...
阅读(362) 评论(0)

[动态树 LCT] BZOJ 2157 旅游

动态树裸题 把边建成一个点就好了 取反,打个标记 #include #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin);...
阅读(392) 评论(0)

[动态树 LCT] BZOJ 2594 [Wc2006]水管局长数据加强版

动态树模板题 最开始加边用Kruskal比较快,不用LCT,然后再用LCT维护最小生成树 话说这道题小数据范围的正解是什么.... PS:以前LCT的求根都是打错的,没有pushdown() #include #include #include #include #include using namespace std; typedef pair abcd; inline cha...
阅读(2358) 评论(0)
    个人资料
    • 访问:309418次
    • 积分:12408
    • 等级:
    • 排名:第1311名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论