Solution Set -「NC 20107」

cirnovsky /

发现终于最讨厌的还是和自己的相同的人的样子。

§ A

傻逼题,不算复杂度差不多得了,显然交换 SS / TT 的选出区间中的任意位置不影响答案,于是前缀和即可。

§ B

清新题,只不过我的确不会...部分分设置不太合理。

你考虑用 O(h2w2)O(h ^ 2 w ^ 2) 的时间钦定两个点 (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2) 研究线段,同时令 a=x1x2,b=y1y2a = |x_1 - x_2|, b = |y_1 - y_2|。如果你做过 仪仗队 那么很容易想到中间一共有 gcd(a,b)\gcd(a, b) 个点,把这些点当作盒子,把它们拍到序列上,则我们有 gcd(a,b)1\gcd(a, b) - 1 个盒子,n2n - 2 个点(钦定端点必选)。如果我们令 k=ddis((0,0),(agcd(a,b),bgcd(a,b)))k=\lfloor\frac{d}{{\rm dis}((0, 0), (\frac{a}{\gcd(a, b)}, \frac{b}{\gcd(a, b)}))}\rfloor,则每个球放进的盒子编号需差 k\geqslant k

赋予组合意义,则每个球存在「体积」的概念,且该「体积」为 k1k - 1,考虑将其压缩, 那么答案式子就出来了 (gcd(a,b)1(k1)(n2)(k1)n2)\binom{\gcd(a, b) - 1 - (k - 1) - (n - 2)(k - 1)}{n - 2},那个 k1k - 1 是右端点已经必选了,所以少了 k1k - 1 个盒子。

考虑优化,注意答案取决于 aabb,可以乘个系数来优化。

§ C

清新题,部分分非常暗示。

有个显然的 observation 是一个结点一定从子树中至多选两个未被选择的结点转移,那么就可以直接可并堆启发式合并什么的来转移。

主要问题是为什么不是儿子中选呢?你考虑一个结点 xx,其父亲 pre(x)pre(x) 只有 xx 一个儿子,而 xx 有三个儿子,并且 xx 把其中两个儿子选完了,那么 pre(x)pre(x) 一定是从 xx 的另一个儿子转移上来,所以必须把子树考虑完。

§ D

你出你🐎的 BM 呢😅😅。