摘要:
## Two Centroids 先考虑对于一棵树,至少要加多少个点才能有两个重心。 以重心为根,设最大儿子的子树大小为 $mx$,那么答案就为 $(n - mx) - mx = n - 2mx$。 接下来考虑如何在加点时维护最大子树,一个显然的性质,加一个点重心最多偏移一位,如果重心偏移,那么 $ 阅读全文
摘要:
## Ciel and Flipboard 一道好题,很有思维难度。 首先,我们发现 $n$ 很小,所以对于一些位置应该是可以枚举的,再通过一些限制来确定其他位置。 对于操作的矩阵 $m * m$,我们发现中间一行必会被操作,而 $i$ 和 $i + m$ 行有且仅有一个被操作,那么设 $f_{i, 阅读全文
摘要:
## slope trick ### 概述 在 $dp$ 过程中,可以维护凸函数的方法,要求 $dp$ 值呈凸函数且其斜率均为整数。 具体来说,是记录凸函数斜率的变化值,即在什么位置斜率$\plusmn 1$,例如凸函数 $f(x) = |x|$,它由一条斜率为 $-1$ 和 一条斜率为 $1$ 的 阅读全文
摘要:
## 反演 反演,可以理解为两个事物通过某种关系的互相转化。 #### 基本推论 设 $F,G$,满足 $F(n) = \sum V[n,i]G(i)$,其中 $V$ 为矩阵,将 $F,G$ 看成列向量,可以写做 $F = V * G$,那么我们可以容易推出 $G = V^{-1} * F$,这就是 阅读全文