CE玩家

人生最大的快乐,就是做别人说你做不到的事。

[LCT] WC2018. 即时战略

之前询问得到的树用LCT维护,然后每次询问从根开始询问 询问次数和复杂度都是 O(nlogn)O(nlog⁡n)O(n\log n) 的 UPD:被HACK了 #include <cstdio> #include <iostr...

2018-02-11 13:31:10

阅读数:291

评论数:0

[动态维护图连通性] LOJ#122. 【强制在线】动态图连通性

学一发黑科技 给边设一个权值,对每一种权值 iii 维护权值大于等于 iii 的边构成的最大生成树 TiTiT_i 加边 一个边刚被加入时的权值设为0,如果它连接两个联通块,就把它设为树边,否则设为非树边 删边 假设要删除边 (x,y)(x,y)(x,y),设它的权值为 www 如果它...

2018-01-17 17:26:19

阅读数:882

评论数:0

[GCD最大生成树 LCT] HDU5398 .GCD TREE

可以发现只要保留边 (i,j)(i,j) 其中 ii 整除 jj 的边就行了用LCT来维护最大生成树就可以了#include <cstdio> #include <iostream> #include <algorithm&am...

2017-10-23 15:06:20

阅读数:221

评论数:0

[LCT] BZOJ2759.一个动态树好题

把 pip_i 设为 ii 的父亲,这样会变成一个基环森林可以发现一个点有解当且仅当这个店所在联通块存在环对于环,可以任取一点作为根,根原本的父亲看做一条特殊的边。那么用LCT可以维护出一个点与这个点所在联通块的根的关系,也就是xi=k×xrt+bx_i=k\times x_{rt}+b,其中 k...

2017-09-28 10:22:32

阅读数:193

评论数:0

[LCT] BZOJ4817.[Sdoi2017]树点涂色

如果将相邻的两个颜色相同的点之间连实边,不同的连虚边,那么答案就是子树中虚边的数量每次染色就是虚实边之间的转换就跟LCT一样,那么LCT access的时候处理一下就可以了。#include <cstdio> #include <iostream> #include <...

2017-09-28 10:13:32

阅读数:119

评论数:0

[LCT维护树的权值与形态]BZOJ3159.决战

题解可以看Manchery博客#include <cstdio> #include <iostream> #include <algorithm> #include <cstring>using namespace std;typedef long ...

2017-09-27 21:45:30

阅读数:201

评论数:0

[LCT && 主席树] BZOJ3514 .Codechef MARCH14 GERALD07 加强版

挺套路的题 如果我们对所有联通块取一棵生成树 那么联通块个数是点数减去边数(因为一棵树的点数-边数=1) 那么题目就是求这个区间里的边构成的图的生成树的边数以加入的时间为权值,用LCT维护最大生成树,如果一条边加入图中会形成环,那么肯定要把这两点间的最小边删去后再加入边,设最小边权为k,那么...

2017-09-18 21:39:15

阅读数:349

评论数:0

[LOJ#2289 && BZOJ5020][THUWC 2017]在美妙的数学王国中畅游

终于找到一个可以交的地方了… 考场上只写了LCT的60分暴力,因为那时候并看不懂什么泰勒展开…前段时间学了微积分,学了泰勒展开,大概知道了是怎么回事 其实题目说的很清楚了…但是那时候就是看不懂,也不会求导什么的。讲sin(ax+b)\sin(ax+b),eax+be^{ax+b}和ax+b...

2017-07-02 18:25:59

阅读数:644

评论数:2

[BZOJ4573][UOJ#195][Zjoi2016][LCT][离线]大森林

http://blog.csdn.net/lych_cys/article/details/53515748# 神想法啊… 至于求两点间距离为什么不能直接把两点的链拉出来 可以考虑因为树上虚点,两个点的LCA可以是一个虚点,虚点的父节点才是它们真正的LCA,所以直接拉一条链会导致少算一个点,...

2017-03-29 17:58:10

阅读数:657

评论数:0

[BZOJ4530][Bjoi2014][LCT维护子树信息]大融合

LCT练习题第一次用指针打LCT,有蛮多意外的,不过确实感觉指针比数组打起来爽多了#include <cstdio> #include <iostream> #include <algorithm> #define N 100010using namespace...

2017-02-16 17:02:23

阅读数:405

评论数:0

[BZOJ3510][启发式合并][LCT维护子树信息]首都

题意略…(今天比较懒)由于只有建造公路没有破环公路,所以可以用启发式合并保持操作数为log,暴力拆开小的联通块,用LCT插到大的联通块内,然后用LCT维护子树信息,具体看这里#include <cstdio> #include <iostream> #include <...

2017-02-15 18:41:54

阅读数:697

评论数:0

[BZOJ4025][LCT]二分图

题意给定一张图,图中每条边只会在[l,r]的时间出现,询问1~T时刻该图是不是二分图LCT调了半天……当图出现奇环的时候不是二分图。因为是动态树,很容易想到用LCT维护,考虑如果加上一条边后形成环, 如果形成奇环,那么在这个环中最早消失的边消失前,这张图都不是二分图,因为LCT只能维护森林,所以...

2017-02-14 09:52:10

阅读数:420

评论数:0

[BZOJ2843][LCT]极地旅行社

LCT裸题#include <cstdio> #include <algorithm> #include <iostream> #define N 30010using namespace std;int n,m,tp,x,y; int A[N],fa[N],c...

2017-02-13 14:19:59

阅读数:219

评论数:0

[BZOJ2555][LCT][后缀自动机]SubString

题意给定一个初始字符串,要求支持两种操作,往字符串后加一个字符串和求一个字符串的出现次数。可以对字符串建后最自动机,那么一个子串x的出现次数就是|right(x)|, |right(x)|可以用fail树维护。 那么每次往字符串后面加字符串,暴力维护|right(x)|时间复杂度会被卡成O(n...

2017-02-05 22:25:27

阅读数:177

评论数:0

[BZOJ2594][Wc2006][LCT]水管局长数据加强版

题意给一张图,每次操作或询问所有u到v路径上边权最大值的最小值,或删除一条边离线,反过来操作,删边变成加边,用LCT维护图的联通就行。#include <cstdio> #include <iostream> #include <algorithm> #incl...

2017-02-05 19:13:13

阅读数:296

评论数:0

[BZOJ3282][LCT]Tree

题意对于一张无向图,需要你支持加边,删边,求路径疑惑和,修改权值四个操作真丶LCT裸题#include <cstdio> #define N 300010int n,m,op,x,y,tp; int v[N],w[N],f[N],ch[N][2],rev[N],sta[N];inlin...

2017-02-04 23:32:31

阅读数:158

评论数:0

[BZOJ1180][CROATIAN2009][LCT]OTOCI

LCT裸题吧….就是没有cut而已#include <cstdio> #define N 50010int n,m; int v[N],f[N],ch[N][2],rev[N],fa[N],t[N],sta[N],tp; char op[20];inline char C(){ ...

2017-02-04 22:36:32

阅读数:197

评论数:0

[BZOJ3669][UOJ#3][Noi2014][LCT]魔法森林

题意求一条从1到N的路径,使路径上每条边A权值的最大值和B权值的最大值和最小。刚开始写的暴力。 把边按A权值升序排序,每次操作加边,每次加边后用spfa维护图中的路径信息(可以不清空dis数组,这是个优化),这样可以暴力跑过去……还特别快……#include <cstdio> #in...

2017-02-04 20:46:10

阅读数:248

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭