12 2018 档案
摘要:这题 FlashHu 的优化思路值得借鉴 前置引理 树中所有点到某个点的距离和中,到重心的距离和是最小的。 把两棵树通过某一点相连得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上。 一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。 一棵树最多有两个重心,且相邻;同时,拥有奇数
阅读全文
摘要:题意 每个点有各自的权值,要求维护操作:动态加边、动态修改权值、询问在每个点只能经过一次的情况下两点间路程中的最大权值和 题解 首先对于一个静态的图,将其缩点,可以得到一棵树,那么两点间询问的答案即为它们之间经过的 $BCC$ 的权值和 支持动态加边,就需要用到 $LCT$ 去维护 $BCC$ 如果
阅读全文
摘要:(貌似整个代码不能用 $makeroot$ ?是因为是有根树?) 因为是区间操作,所以可以考虑在区间内与区间外的差异 对于操作 $1$ ,可以看作一个生成节点包含了到下一个 $1$ 操作之间长出的节点,那么对于一个操作 $l, r$ ,相当于是在 $l$ 处将当前生成节点及其包含的节点整个移植到它更
阅读全文
摘要:首先易得方程,且经过变换有 $$\begin{aligned} f_i &= \min\limits_{dist_i - lim_i \le dist_j} \{f_j + (dist_i - dist_j)p_i + q_i\} \\ f_j &= p_idist_j + f_i - dist_i
阅读全文
摘要:首先每次买卖一定是在某天 $k$ 以当时的最大收入买入,再到第 $i$ 天卖出,那么易得方程: $$f_i = \max \{\frac{A_iRate_kf_k}{A_kRate_k + B_k} + \frac{B_if_k}{A_kRate_k + B_k}\}$$ 再令 $$\left\{\
阅读全文
摘要:主要题意 求字符串$S$与$T$不同的子串总数 题解 先考虑$l = 1, r = |T|$的情况: 因为任意子串为字符串前缀的某些后缀,那么令$Lim[i]$表示$T[1...i]$在$S$上所能匹配的最大长度,$Posi[i]$表示$T$的后缀自动机上的点$i$的$endpos$集合中最靠前的位
阅读全文
摘要:题意 现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(注意包括本身)。 题解 首先是广义后缀自动机,就是每次将$last$归为$Root$,从而将几个后缀自动机拼在一起处理 那么现在需要知道每个字串在$n$个母串中的出现次数,所谓字串,就是所有前缀
阅读全文
摘要:题意 一串字符串的子串能够被拆分成不重叠的$AABB$($A, B$为该子串的子串)的方案数 题解 考虑对子串进行隔离处理,枚举隔离长度$l$ 那么在此隔离长度下若存在子串满足$AABB$,那么它必定横跨两个隔离点,那么此时求出每相邻两个隔离点的最长公共前缀$x$和最长公共后缀$y$(跑两遍$SA$
阅读全文

浙公网安备 33010602011771号