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