AtCoder AGC073 总结

AtCoder AGC073 总结

A

画一下图可以知道,对于已选的一个区间,若前面\(x\) 个已选区间和它有交,那么这 \(x\) 个区间会把它划分成 \(x+1\) 块,那么会贡献 \(\lceil\frac {x+1} 2\rceil=\lfloor \frac x2\rfloor+1\) 个黑块。

双指针求出前面最多有 \(m\) 个与它有交,贡献为

\[2^{n-m-1}\sum _{i=0}^m\binom{m}{i}(\lfloor \frac i2\rfloor+1) \]

瓶颈在于算后面的式子。注意到:

\[\sum _{i=0}^m\binom{m}{i} (\lfloor \frac i2\rfloor+1)= \begin{cases} 1 & m=0\\ 2 & m=1\\ (m+3)2^{m-2} & m\ge 2 \end{cases} \]

做完了,复杂度 \(O(n)\)

以下是式子的证明。考虑把奇偶展开:

\[\lfloor x/2\rfloor+1=\frac{i+2-(i\bmod 2)}2 \]

则原式等于

\[\frac 12\sum _{i=0}^m\binom mi (i+2-(i\bmod 2)) \]

\[\frac 12\sum_{i=0}^m\binom mi i+\sum_{i=0}^n\binom mi-\frac 12\sum _{i=0}^x(i\bmod 2) \]

\[\sum_{i=0}^m\binom mi=2^m \]

\[\sum_{i=0}^m\binom mi i=\sum_{i=0}^m\frac {m!}{i!(m-i!)}\cdot i=\sum _{i=0}^m\frac {m!}{(i-1)!(m-i)!}=m\sum _{i=0}^m\binom {m-1}i =m2^{m-1} \]

对于 \(m\ge 1\),奇数个元素的子集个数为 \(2^{m-1}\),这是因为考虑第一位选 \(0\)\(1\)、后面不变,会构成偶数到奇数的双射。即

\[\sum _{i=0}^x(i\bmod 2)=2^{m-1} \]

代入并化简原式即得证。

B

\(f(a_1,a_2,a_3,\dots)\) 为题目所求 \(a\) 序列的答案,有结论 \(f(a_1,a_2,a_3,\dots)=a_1+f(a_1,a_2-a_1,a_3-a_1,\dots)\),辗转相除法即可,复杂度 \(O(n\log V)\)

证明:

性质 A:首先合法的移动方式一定每次从 \(S=\{a_1,a_2,a_3,\dots,a_n,2a_1,3a_1,4a_1,\dots\}\) 里选,且不会连续往一个方向走两次,因为答案一定不会超过 \(a_1+a_2\)

我们先证明 \(f(a_1,a_2,a_3,\dots)\le a_1+f(a_1,a_2-a_1,a_3-a_1,\dots)\)。即已知后者的一个构造,求前者的构造。后者若一开始走 \(+c_1\),那么我们可以走 \(+(c_1+a_1)\);之后每走 \(+c\),我们就走 \(-a_1,+(c+a_1)\);若每走 \(-c\),我们就走 \(-(c+a_1),+a_1\);最后走 \(-c_k\),我们就走 \(-(c_k+a_1)\)。显然这样构造是合法的。

我们再证明 \(f(a_1,a_2,a_3,\dots)\ge a_1+f(a_1,a_2-a_1,a_3-a_1,\dots)\)。即已知前者的一个构造,求后者的构造。由性质 A,前者的移动方式一定是往两个方向交替走的,若其走 \(+c\),我们就走 \(+(c-a_1)\);若其走 \(-c\),我们就走 \(-(c-a_1)\)。这都是可以表示的,由于前者不小于原点,可知这种构造也不小于原点,且满足不等式。

得证。

C

题目等价于将树随意划分成若干连通块,每个连通块的代价是 \((2sz\times n^{sz})^{-1}\),一种划分方案的代价是所有连通块代价的乘积,求所有划分方案的代价和。树上背包即可,复杂度 \(O(n^2)\)

posted @ 2025-09-29 08:37  dengchengyu  阅读(42)  评论(0)    收藏  举报