P6108 题解

区间加;区间选出非空子序列,求所有选择方案中子序列的方差之和,模 \(998244353\)
\(1\le n\le5\times10^6\)\(1\le m\le10^5\)

Record here

根本不是 DS,为了不污染记录就单独发出来了。

首先考虑

\[V(a)=\dfrac 1n\left(\sum a_i^2\right)-\dfrac1{n^2}\left(\sum a_i\right)^2 \]

这个依据方差定义展开即证。

对于本题,显然考虑枚举长度 \(k\in[1,r-l+1]\),只需要求出:


\(\color{grey}\textbf{(1)}\) 区间选出 \(k\) 个数的子序列的 \((\sum a_i^2)\) 之和除以 \(k\) 后再求和。

直接把贡献拆在每一位考虑即可,

\[\begin{aligned}F(k) &= \dfrac 1k\sum\limits_{|S|=k}\sum_{i\in S} a_i^2 \\ &=\dfrac 1k\sum\limits_{i=l}^r\binom{r-l}{k-1}a_i^2 \\ \end{aligned}\]

求和即有

\[\begin{aligned}\sum\limits_{k=1}^{r-l+1}F(k) &= \sum\limits_{k=1}^{r-l+1}\dfrac1k\sum\limits_{i=l}^r\binom{r-l}{k-1}a_i^2 \\ &= \left(\sum\limits_{k=1}^{r-l+1}\dfrac{\small\binom{r-l}{k-1}}k\normalsize\displaystyle\right)\times\left(\sum\limits_{i=l}^r a_i^2\right) \\ &\triangleq f(r-l+1)\times\left(\sum\limits_{i=l}^r a_i^2\right) \end{aligned}\]

其中

\[f(n)= \sum\limits_{k=1}^n\dfrac{\binom{n-1}{k-1}}k = \sum\limits_{k=1}^n\dfrac{\binom nk}n= \dfrac{2^n-1}n \]

第一步运用了常用组合数恒等式 - 转换系数,具体来说展开即证。第二步运用了二项式定理。

解决 \(f\) 后,只需要区间加的同时快速维护 \(\sum\limits_{i=l}^r a_i^2\),线段树即可。


\(\color{grey}\textbf{(2)}\) 区间选出 \(k\) 个数的子序列的 \((\sum a_i)^2\) 之和除以 \(k^2\) 后再求和。

这里我没有想到。。考虑一种拆分 trick:

\[(\sum a_i)^2=(\sum a_i^2)+\sum\limits_{i\ne j}a_ia_j \]

这样使得我们能够拆分贡献。然后可以类似 \(\color{grey}\textbf{(1)}\) 做:

\[\begin{aligned}G(k) &= \dfrac 1{k^2}\sum\limits_{|S|=k}\left(\sum\limits_{i\in S} a_i\right)^2 \\ &= \dfrac 1{k^2}\sum\limits_{|S|=k}\left(\sum\limits_{i\in S} a_i^2+\sum\limits_{i,j\in S,i\ne j} a_ia_j\right) \\ &= \dfrac 1{k^2}\sum\limits_{i=l}^r\binom{r-l}{k-1}a_i^2+\sum\limits_{j\ne i}\binom{r-l-1}{k-2}a_ia_j \\ &= \dfrac 1{k^2}\sum\limits_{i=l}^r\binom{r-l}{k-1}a_i^2+\binom{r-l-1}{k-2}\cdot\left((\sum\limits_{j=l}^r a_j)-a_i\right) \\ &= \dfrac 1{k^2}\sum\limits_{i=l}^r\binom{r-l-1}{k-1}a_i^2+\binom{r-l-1}{k-2}\cdot\left(\sum\limits_{i=l}^r a_i\right) \\ \end{aligned}\]

第四行到第五行是将后面的 \(-a_i\) 项拆了出来。

求和即有

\[\begin{aligned}\sum\limits_{k=1}^{r-l+1}G(k) &= \sum\limits_{k=1}^{r-l+1}\dfrac 1{k^2}\sum\limits_{i=l}^r\binom{r-l-1}{k-1}a_i^2+\binom{r-l-1}{k-2}\cdot\left(\sum\limits_{i=l}^r a_i\right)^2 \\ &= \left(\sum\limits_{k=1}^{r-l+1}\dfrac{\binom{r-l-1}{k-1}}{k^2}\right)\times\left(\sum\limits_{i=l}^r a_i^2\right) + \left(\sum\limits_{k=1}^{r-l+1}\dfrac{\binom{r-l-1}{k-2}}{k^2}\right)\times\left(\sum\limits_{i=l}^r a_i\right)^2 \\ &\triangleq g(r-l+1)\times\left(\sum\limits_{i=l}^r a_i^2\right) + g^{\prime}(r-l+1)\times\left(\sum\limits_{i=l}^r a_i\right)^2 \\ \end{aligned}\]

其中分为两项处理,首先是

\[g(n)=\sum_{k=1}^{n-1}\dfrac{\binom{n-2}{k-1}}{k^2}=\dfrac1{n-1}\sum_{k=1}^{n-1}\dfrac{\binom{n-1}k}k\triangleq\dfrac1{n-1}A_{n-1} \]

这里 \(A_n=\sum\limits\binom ni/i\),我们考察

\[\begin{aligned}A(n)-A(n-1) &= \sum\limits_{i=1}^n\dfrac{\binom ni}i-\sum\limits_{i=1}^{n-1}\dfrac{\binom{n-1}i}i \\ &= \dfrac1n+\sum\limits_{i=1}^{n-1}\dfrac{\binom ni-\binom{n-1}i}i \\ &= \dfrac1n+\sum\limits_{i=1}^{n-1}\dfrac{\binom{n-1}{i-1}}i \\ &= \dfrac1n+\sum\limits_{i=1}^{n-1}\dfrac{\binom ni}n \\ &= \dfrac{2^n-1}n \end{aligned}\]

于是可以预处理出。

另一方面,

\[g^{\prime}(n)=\sum_{k=1}^n\dfrac{\binom{n-2}{k-2}}{k^2}=\sum_{k=1}^n\dfrac{\binom{n-1}{k-1}-\binom{n-2}{k-1}}{k^2}=g(n+1)-g(n) \]

解决 \(g,g^{\prime}\) 后,只需要区间加的同时快速维护 \(\sum\limits_{i=l}^r a_i\)\(\sum\limits_{i=l}^r a_i^2\),依旧是线段树搞定。

\(O(m\log n)\)

posted @ 2025-05-10 23:39  liangbowen  阅读(25)  评论(0)    收藏  举报