摘要:
首先有一道题 王室联邦 题目大意 给定一棵树,将树分为大小范围为 $[B, 3B]$ 的连通块集,求方案 树上分块方法之一 类似贪心,用栈维护还没有在连通块中的子节点,对于递归到的当前的点 $p$ ,扫描它的子树,能拼凑就拼凑 但是注意最后可能还会有一些点(一定包括根)剩下,那么将这些点并到最后一个 阅读全文
摘要:
说实话这题写树剖 $LCT$ 什么的真的思想又不难又好实现的样子,但是我还是选择自虐选择了动态点分治那就两种做法都稍微提一下: 树链剖分 / $LCT$ 很容易可以发现一个换根操作只会对当前根在原树(根为 $1$ )上的祖先一条链造成影响,也就是将它们的子树变成除当前链方向其它与之相连的点集,那么用 阅读全文
摘要:
该题是[NOI2014]起床困难综合征的树上加修改版 先说说《起床困难综合征》,由于不同位运算之间不满足交换律,故必须按顺序执行操作 考虑位运算套路 —— 拆位,对于未知的初始值,它的每一位也是未知的,所以可以用两个变量 $a_0, a_1$ 来当作初始值当前位为 $0$ 或 $1$ 时最终可以得到 阅读全文
摘要:
题意 有操作 $0$ $u$:询问有多少个节点 $v$ 满足路径 $u$ 到 $v$ 上所有节点(包括)都拥有相同的颜色$1$ $u$:翻转 $u$ 的颜色 题解 直接用一个 $LCT$ 去暴力删边连边显然会 $T$ 那么只有两个颜色的话就可以建两棵 $LCT$ ,观察到每次单点修改颜色时其子树所包 阅读全文
摘要:
题意 有操作: 1 $x$ 把点 $x$ 到根节点的路径上所有的点染上一种没有用过的新颜色。 2 $x$ $y$ 求 $x$ 到 $y$ 的路径的权值。 3 $x$ 在以 $x$ 为根的子树中选择一个点,使得这个点到根节点的路径权值最大,求最大权值。 题解 因为观察到一个颜色一定是一条向根节点的链, 阅读全文
摘要:
这题 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\{\ 阅读全文