ARC212C 学习笔记

题目链接

挺不错的计数题。

题意:
n个相同的球,m个不同的盒子,需要将球涂成红色或蓝色,然后放入盒子中,记在第\(i\)个盒子中红色球的数量为\(a_i\),蓝色球的数量为\(b_i\)

求所有方案的 $ \large\prod\limits_{i=1}^m | a_i - b_i | $ 的和,结果对 \(998244353\) 取模。

正解:

首先我们可以发现一红一蓝放进一个盒子会抵消,我们可以先枚举有 \(x\) 对红蓝球会成对出现在盒子里,这个系数可以用插板法直接求出来,即 $ \binom{x+m-1}{m-1} $

然后,我们再考虑把剩下的球放进盒子里,这个时候每个盒子里的球应该只涂成一个颜色,因为前面先放了成对的球,这里用不着再枚举了,这样一共有 $ 2^m $ 种涂法。 注意这里也有可能有些盒子里没有球,但是这样的放法是没有贡献的,所以这里可以直接乘。

接下来要考虑的就是,怎么计算这个恶心的乘积的和。我们发现,这个乘积实际上就是“从每个盒子里挑出一个球的方案数量”,这实际上相当于,排列m个要挑出来的球,m-1个隔板,和剩下的没挑出来的球的方案数量,m个要挑出来的球和m-1个隔板可以看作是2m-1个隔板,那么这个东西也能直接求出来,即 $ \binom{n-2x+m-1}{2m-1} $ (这块有bug,待修改)

然后,这个东西就能直接 $ O(n) $ 求了,非常牛逼!

posted @ 2026-01-14 20:48  老子是北瓜  阅读(1)  评论(0)    收藏  举报