题解:AT_agc019_f [AGC019F] Yes or No
posted on 2025-12-17 13:51:16 | under | source
闲话:教练给的题,一直在大力推式子,最后组合意义考虑了一下,感觉很有意思。
先写出平方 dp,然后发现可以写成平方枚举量的式子,再配凑一下组合数,很像范德蒙德卷积了,如下:
\[\frac {1}{{n+m}\choose {n}}\sum\limits_{k=0}^{n+m}k\sum\limits_{i}{{n+m-k}\choose {n-i}}{{k}\choose {i}}\max(i,k-i)
\]
考虑能否对每个 \(k\) 快速求出后面这个求和式,拆开 \(\max\),令 \(i\ge k-i\),\(i<k-i\) 同理。记 \(A=k,B=n+m-k,C=\frac k2\),相当于要算出:
\[\sum\limits_{i\ge C}{{A}\choose i}{{B}\choose {n-i}}i
\]
回顾范德蒙德卷积的推导过程,考虑其组合意义,相当于左边 \(A\) 个球、右边 \(B\) 个,总共选 \(n\) 个球,满足左边选的数量 \(\ge C\),然后再从左边选的球里挑一个标黑的方案。那么枚举标黑的球,发现标黑哪个并不重要,乘上 \(A\) 即可。让 \(A,C,n\) 均减一,要算:
\[\sum\limits_{i\ge C}{{A}\choose i}{{B}\choose {n-i}}
\]
还是不会算啊!但你考虑本题的特殊性,移动 \(k\),则 \(A+1,B-1\),同时 \(C\) 也产生 \(O(1)\) 变化。还是组合意义,只考虑 \(A,B\) 的变化,那么相当于左右分界线产生 \(O(1)\) 移动,容易算出变化量(比如分界线右移,那么漏算了前 \(A\) 个选了 \(C-1\) 个、前 \(A+1\) 个选了 \(C\) 个的方案)。对于 \(C\) 的变化更是容易的。
\(O(n)\)。代码我没写。

浙公网安备 33010602011771号