03 2017 档案
摘要:一道赛艇题 一棵树初始所有点不联通,支持两种操作: 连接u,v两个节点 查询结点u所能到的最远点 首先不难看出最远点一定在当前的直径两端的点,问题变为如何在合并时维护直径。 考虑维护LCA的F数组,我采用启发式合并,每次暴力更新一棵子树的F数组和depth数组,这样就能维护结点之间的距离,直径直接在
阅读全文
摘要:树链剖分就是把一个树分成了几条链。 轻重链剖分:对于一个结点,我们把它所有的儿子结点中子树结点数最大的那个成为重儿子,这样每个结点朝重儿子连边,称为重边,其他边称为轻边,最后重边就构成了若干链。 对于重链,我们用线段树维护信息,查询一条链把它从lca分为两条链,自底向上查询,轻边直接搞,重边在线段树
阅读全文
摘要:Portal: http://www.lydsy.com/JudgeOnline/problem.php?id=3786 解析: 我们先跑出树的括号序,对于位置$L_i$结点值设为$A_i$,位置$R_i$结点值为$ A_i$,则一个结点到父节点的值即为$\sum_1^{L_i} s_i$,现在问题
阅读全文

浙公网安备 33010602011771号