「CTSC2018」暴力写挂
摘要:emmm感觉就是通道的弱化版,就是第一步要想到 description 给两棵树,
T和
T′,求对于所有
x,
y,
depth(x)+depth(y)−(depth(lca(x,y))+depth′(lca′(x,y)))的最大值。 solution 两个lca不好处理,考虑把第一
阅读全文
[WC2018]通道
摘要:luogu传送门 这是我写过最难写的之一,写到AC的总时间有8h。另外Racheal,byebye~嘿嘿 Description
n个点,给三棵树,问
x到
y在三棵树上的路径权值和最大。 Solution 第一棵树上边分治,边权为
w,划分为点集S和T。令
d1i为
i在T1中到边
阅读全文
[CF1073G]LCP问题
摘要:题意:给一个长n的字符串S,q组询问,每组给两个集合A,B。求集合A中的点和集合B中的点所有组合情况的lcp的和。 思路: 好像比较常规,可是代码能力差还是调了1.5h。主要还是虚树板子不熟(加入的时候点要去重) SAM+虚树+虚树上dp 两个后缀的lca相当于后缀树上两个对应节点的LCA的len。
阅读全文
[HNOI2014]世界树
摘要:题意:[HNOI2014]世界树 思路: 首先建好虚树。(为了方便size的预处理,强制虚数里面的根为1) 预处理出每个点最近的关键点bl,以及到它的距离。 然后一条边上(不含两端):(u->v) 且设p为u的儿子中是v的祖先的。 1.\(bl[u]=bl[v]:\ ans[bl[u]]=sz[p]
阅读全文
【HEOI2014】大工程<虚树>
摘要:虚树 我们每天都用心思索着,这究竟是为了什么呢?我想我也不知道,只是觉得如果人不思考问题就很无聊。 我觉得虚树不是什么数据结构,就是一种技巧或者工具。它能把树中
k个关键点以
O(klogk)的复杂度变成一棵节点数
2∗k以内的树。并且构树的边的信息适用广泛(如最大值,和……) 有两种构树方法
阅读全文