随笔分类 - 动态树
摘要:新技能 get √ :LCT 维护边双连通分量 这题题意就是动态加边,每次求边的两端是否在一个边双连通分量里,输出 "No" 或者边双连通分量的大小 可以用两个并查集分别记录连通性和双连通性,如果还没连通就是 "No" 并在 LCT 上连边,否则直接把这条链 split 出来查即可 注意 LCT 维
阅读全文
摘要:老年选手不会 SAM 也不会 LCT 系列 我的数据结构好菜啊 qnq 一颗 Trie 树,$q$ 次询问,每次可以是: 1.求这棵树上本质不同的子串数量 2.插入一个子树,保证总大小不超过 $100000$ 3.询问一个字符串在 Trie 树上出现过多少次,保证所有询问串总长度不超过 $10000
阅读全文
摘要:三道大原题,我就直接写了 T1 scoi2016 背单词 建一个 Trie 树,递推出每个点子树里单词节点的数量,把单词节点拿出来建个树形结构,所有单词节点向他上面最近的单词节点连边,每次贪心往比较小的那边走就可以了 不建树是错的,因为会把不同的单词节点算成一个 例如: 比如左边四个单词节点就被算到
阅读全文
摘要:交互题 一棵树,一开始只有 1 号点是已知的,其他的都是未知的,你可以调用函数 explore(x,y) ,其中 x 必须是已知的,函数会找到 x 到 y 路径上第二个点,并把它标成已知,求最小步数使整棵树都已知 对于 30% 的数据,是一条链,操作次数 $O(n+logn)$ 剩下的数据,操作次数
阅读全文
摘要:sol: 题面看吐了,实际上操作就是 1.access 2.makeroot 3.查询一个点到根上有多少虚边 1. 和 2. 可以 access ,每次断掉的轻边子树 -1,新连的轻边子树 +1 ,用线段树维护一下子树即可,类似树剖套线段树的方法换根 顺便复习一下换根 1.如果当前点在根的子树里,直
阅读全文
摘要:打开题一看,咦,两道数数,一道猫式树题 感觉树题不可做呀,暴力走人 数数题数哪个呢?感觉置换比矩阵好一些 于是数了数第一题 100 + 0 + 15 = 115 T1 bishop 给若干个环,这些环上一共有 $n$ 个点,在这 $k$ 个点上等概率放 $k$ 个人,一个点最多放一个人,求每个环都至
阅读全文
摘要:其他的题好像不可做呢 QAQ 我太菜了 QAQ uoj266 Alice 和 Bob 又在玩游戏 给一个有根树森林,Alice 和 Bob 两个人每次选择一个点 x,删除 x 和 x 所有祖先,不能操作的人输,求赢的是谁 sol: 考虑 SG 函数,如果删除根节点,后继状态就是所有儿子为根的游戏,把
阅读全文
摘要:T1 少膜一个,T3 暴力写挂 强势 rank1 -> rank2 一场比赛两道线段树分治,给力 T1 password 给你 m 个禁止字符串,求长度为 n 的所有字符串中至少包含这些禁止字符串各一次的字符串数量 $n \leq 10^9,m \leq 4,\sum len \leq 50$ so
阅读全文
摘要:有些纪念意义的题 $N$个点$M$条边的无向图,$Q$次询问保留图中编号在$[l,r]$的边的时候图中的联通块个数,强制在线。 $N,M,Q \leq 200000$ 受某远古$CF$题的影响,大力$LCT$硬搞 一个神奇的做法: 令每条边边权为加入时间 搞一个数组$used$,加边的时候如果形成了
阅读全文
摘要:一个$n*n$的棋盘,每个格子为黑色或白色。m次操作,每次修改一个格子的颜色,计算当前有多少黑色四联通块和白色四联通块 $$1 \leq n \leq 200$$ $$1 \leq m \leq 10000$$ 当年科技不发达...这明明是LCT一眼题啊喂 设有$x_1$个原来与当前格子同色的连通块
阅读全文
摘要:暖气来啦~ 动态树维护最大生成树裸题 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; in
阅读全文
摘要:树剖,也被称作“静态树”是用线段树维护树上每条链的信息 而Link-Cut Tree用Splay森林维护树上的动态信息 先明确几个定义 1.重儿子 这里指推广之后的重儿子,满足I,II两条性质 I:重儿子和它的父亲在同一棵Splay中 II:一个节点最多有一个重儿子 2.重边 连接重儿子和它父亲的边
阅读全文

浙公网安备 33010602011771号