1 条题解

  • 0
    @ 2026-7-4 18:16:46

    方法一:容斥

    以生成的所有可能序列为全集 UU,那么对于每一个序列,只可能有三种情况:

    1. nn 个数的和 >>nn 个数的和;
    2. nn 个数的和 <<nn 个数的和;
    3. nn 个数的和 ==nn 个数的和;

    其中前两个情况一定是一一对应的(交换前 nn 个数和后 nn 个数即可),数量一定相同,于是考虑第三种情况。

    问题转化为:求前 nn 个数和后 nn 个数的和相同的概率 pp

    所有数在 [0,m][0,m],前 nn 个和后 nn 个相同,可以看作前 nn 个在 [0,m][0,m] 中,后 nn 个在 [m,0][-m,0] 中,和为 00 的方案数。

    给后 nn 个数加上 mm,则等价于所有元素在 [0,m][0,m] 中,和为 nmnm 的方案数。

    那么问题就转化为了一个容斥原理经典模型:对于 0xm,xi=nm0\le x\le m,\sum x_i=nm,钦定 kk 个不满足上界限制,将它们减掉 m+1m+1

    方案数就是 f(k)=C2nkC2n+t1tf(k)=C_{2n}^kC_{2n+t-1}^{t}t=nmk(m+1)t=nm-k(m+1),总方案数为 k=02n(1)kf(k)\sum_{k=0}^{2n}(-1)^kf(k)

    那么所求概率 p=k=02n(1)kf(k)(m+1)2np=\dfrac{\sum_{k=0}^{2n}(-1)^kf(k)}{(m+1)^{2n}},最终答案为 1p2\dfrac{1-p}{2}

    方法二:生成函数

    pp 是前 nn 个数的和与后 nn 个数的和相等的概率,答案为 1p2\dfrac{1-p}{2}

    记前 nn 个数的和的生成函数为:

    $$F(x)=\sum_{i=0}^{nm}f_ix^i=(\dfrac{1-x^{m+1}}{1-x})^n $$

    那么 p=i=0nmfi2(m+1)2np=\dfrac{\sum_{i=0}^{nm}f_i^2}{(m+1)^{2n}}

    看起来要把 F(x)F(x) 的所有系数 fif_i 都求出来,很困难。但发现 fi=fnmif_i=f_{nm-i},于是:

    $$\begin{aligned}\sum_{i=0}^{nm}f_i^2=\sum_{i=0}^{nm}f_if_{nm-i}&=[x^{nm}]F(x)^2\\&=x^{nm}^{2n}\\&=\sum_{i=0}^{2n}(-1)^i\binom{2n}{i}\binom{2n-1+mn-i(m+1)}{2n-1}\end{aligned} $$

    于是预处理出 O(nm)O(nm) 范围内的阶乘即可 O(n)O(n) 求出单组答案。

    时间复杂度为 O(nm+Tn)O(nm+Tn)

    • 1

    信息

    ID
    2711
    时间
    1000ms
    内存
    512MiB
    难度
    9
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者