该文被密码保护。 阅读全文
posted @ 2018-03-24 17:00 Cyhlnj 阅读(24) 评论(0) 推荐(0)
摘要: LCT: 类似于树链剖分吧~~我是这么认为的~~ 要学会LCT首先你要先学会Splay及其 区间翻转操作 基础 辅助树: ①Splay以深度为为关键字,维护每条链的信息( 每条链一个splay ) ②其根的父亲指向这条链的链顶的父亲 ③记住每次splay时要先 从上往下 下放lazy 操作 判断是否 阅读全文
posted @ 2018-03-24 15:22 Cyhlnj 阅读(197) 评论(0) 推荐(0)
摘要: Sol $LCT$动态维护树重心 方法一 因为只有加边,所以可以暴力启发式合并,维护重心 维护子树信息,子树大小不超过一半 复杂度两只$log$ 方法二 扣出两个重心的链,链上二分找 每次$Splay$重心,应该是一只$log$的吧。。。 cpp include define RG register 阅读全文
posted @ 2018-03-24 14:14 Cyhlnj 阅读(208) 评论(0) 推荐(0)
摘要: 题意 一棵$n$个点的树,点从$1$到$n$编号。每个点可能有两种颜色:黑或白。 我们定义$dist(a,b)$为点$a$至点$b$路径上的边个数。 一开始所有的点都是黑色的。 要求作以下操作: $0 i$ 将点$i$的颜色反转(黑变白,白变黑) $1 v$ 询问$dist(u,v)$的最小值,$u 阅读全文
posted @ 2018-03-24 11:02 Cyhlnj 阅读(240) 评论(0) 推荐(0)