P8367 [LNOI2022] 盒

\(a_i\) 前缀和为 \(t_i\)\(t_n=S\)\(b_i\) 前缀和为 \(s_i\)

\[ans=\sum_{\sum b_i=S}\sum_{i=1}^nw_i|s_i-t_i| \]

套路地拆贡献,我们有[1]

\[\begin{aligned}ans&=\sum_{i=1}^nw_i\sum_{\sum b_i=S}|s_i-t_i|\\&=\sum_{i=1}^nw_i\sum_{j=0}^S|j-t_i|\binom{j+i-1}{i-1}\binom{S+n-j-i-1}{n-i-1}\end{aligned} \]

显然我们可以考虑把后面那一坨根据绝对值拆成两部分。

\[\sum_{j=0}^{t_i}(t_i-j)\binom{j+i-1}{i-1}\binom{S+n-j-i-1}{n-i-1}\\\sum_{j=t_i}^{S}(j-t_i)\binom{j+i-1}{i-1}\binom{S+n-j-i-1}{n-i-1} \]

这样的话,我们不妨记

\[f(n,m,i,j)=\sum_{k=0}^{j}\binom{k+i-1}{i-1}\binom{m+n-k-i-1}{n-i-1}\\g(n,m,i,j)=\sum_{k=0}^{j}k\binom{k+i-1}{i-1}\binom{m+n-k-i-1}{n-i-1} \]

\[\begin{aligned}g(n,m,i,j)&=\sum_{k=0}^{j}k\binom{k+i-1}{k}\binom{m+n-k-i-1}{n-i-1}\\&=\sum_{k=0}^j(k+i-1)\binom{k+i-2}{k-1}\binom{m+n-k-i-1}{n-i-1}\\&=\sum_{k=0}^j(k+i-1)\binom{k+i-2}{i-1}\binom{m+n-k-i-1}{n-i-1}\end{aligned} \]

我们发现,这并没有什么卵用。

注意不到 \(n\binom{n+m-1}{n}=m\binom{n+m-1}{m}\),这个东西证明没什么好证的。其实可以考虑组合意义

(先咕着)

这样

\[\begin{aligned}g(n,m,i,j)&=i\sum_{k=0}^j\binom{k+i-1}{i}\binom{m+n-k-i-1}{n-i-1}\\&=i\sum_{k=0}^{j-1}\binom{k+i}{i}\binom{m+n-k-i-2}{n-i-1}\\&=i\cdot f(n+1,m-1,i+1,j-1)\end{aligned} \]

这是好的,我们只需要考虑怎么计算 \(f(n,m,\cdot,\cdot),f(n+1,m-1,\cdot,\cdot)\) 就可以了。

然而这个表达式并不能被简单表示,虽然它是范德蒙德卷积的形式,但是由于它的循环上界不一样,所以并不能这么做。我们考虑每次修改时的增量。

显然对于 \(j\) 那一维的更改是可以简单计算的,我们考虑怎么计算对 \(i\) 的更改。

我们尝试考虑这个东西的组合意义。它表示一共有 \(n\) 个数,每个数 \(\geq 0\),它们的和是 \(m\),额外要求前 \(i\) 个数的和 \(\leq j\),问方案数。我们上面这个式子相当于是在枚举前 \(i\) 个数的和是多少来进行计算,考虑换一个角度,尝试进行某种意义上的“反演”操作。我们把值域看成 \(m\) 个小球,把位置看成 \(n\) 个盒子。考虑这种“反演”操作,枚举第 \(j+1\) 个球在哪个盒子里,我们有

\[\begin{aligned}f(n,m,i,j)&=\sum_{k=0}^{j}\binom{k+i-1}{i-1}\binom{m+n-k-i-1}{n-i-1}\\&=\sum_{k=i+1}^n\binom{k+j-1}{k-1}\binom{n+m-k-j-1}{n-k}\end{aligned} \]

这时我们可以快速计算 \(i\) 的更改了。

注意到我们的询问都是形如 \(f(n,m,i,t_i)\) 的形式,由于 \(t_i\) 关于 \(i\) 递增,我们可以均摊 \(O(n+S)\) 地解决这个问题。


  1. 这个东西其实除了选 n 个 0~m 的数和为 m 插板以外,我想了一个不太对的做法。你考虑有 m+1 个球,标号为 0~m,后面再加 n-1 个球,然后从中选出 n 个来,对第一个而言,数就是它对应的,对于第二个而言,数就是它对应的减1,以此类推。这个做法本质上是考虑原数列的前缀和数列,但问题出在它没有限制最后一个位置是 m,限制之后它也是对的。 ↩︎

posted @ 2023-02-21 16:51  PYD1  阅读(36)  评论(0)    收藏  举报