• Problem. C


    题意简述:

    (n)个数(a_1,cdots,a_n)(a_isim B(m,p))且相互独立。
    同时有一个(N)次多项式(f(x)),给定(f(0),cdots,f(N))
    现在需要求出所有满足(0le b_ile a_i)(f(sumlimits_{i=1}^nb_i))的和对(998244353)取模的结果。

    数据范围:

    (0le Nle10000,0le n,m,p<998244353)

    解法:

    先把(f(x))展开成Newton级数:
    (f(x)=sumlimits_{k=0}^N{xchoose k}Delta^kf(0)=sumlimits_{k=0}^Nfrac{x^{underline k}}{k!}sumlimits_{i=0}^k(-1)^{k-i}{kchoose i}f(i)=sumlimits_{k=0}^N{xchoose k}k!sumlimits_{i+j=k}frac{f(i)}{i!}frac{(-1)^j}{j!}=sumlimits_{k=0}^N{xchoose k}k!f_k)
    显然(f_k)可以NTT算出。
    然后我们再考虑(B(m,p))的分布列的生成函数及其后缀和:
    (P(x)=sumlimits_{i=0}^m{mchoose i}p^i(1-p)^{m-i}x^i,Q(x)=sumlimits_{i=0}^mx^isumlimits_{j=i}^m{mchoose j}p^j(1-p)^{m-j})
    这样最终的答案就是:
    (sumlimits_{b}(prodlimits_{i=1}^n[x^{b_i}]Q(x))f(sumlimits_{i=1}^nb_i)=sumlimits_{b}(prodlimits_{i=1}^n[x^{b_i}]Q(x))sumlimits_{k=0}^N{sumlimits_{i=1}^nb_ichoose k}k!f_k)
    交换枚举的顺序,然后我们构建以(b_i)为下标的生成函数,这样要计算的就变成了:
    (sumlimits_{k=0}^Nk!f_ksumlimits_{i=k}^{nm}[x^i]Q(x)^m{ichoose k})
    注意到((x+1)^n=sumlimits_{k=0}^n{nchoose k}x^k),因此我们有:
    ([x^k]Q(x+1)^m=sumlimits_{i=k}^{n*m}[x^i]Q(x)^m{ichoose k})
    那么答案就是:
    (sumlimits_{k=0}^Nk!f_k[x^k]Q(x+1)^m)
    接下来我们要做的就是求出(Q(x+1)^m)
    (P(x))看上去要好求很多,因此我们先考虑把(Q(x))转化为(P(x))
    根据定义我们可以得到:
    (Q(x)-P(x)=frac{Q(x)-1}x)
    整理并代入(x+1)之后得到:
    (Q(x+1)=frac{(x+1)P(x+1)-1}x)
    然后我们要做的就是求出(P(x+1))
    直接爆拆就行了:
    (P(x+1)=sumlimits_{i=0}^m{mchoose i}p^i(1-p)^{m-i}(x+1)^i)
    (=sumlimits_{i=0}^m{mchoose i}p^i(1-p)^{m-i}sumlimits_{j=0}^i{ichoose j}x^j)
    (=sumlimits_{i=0}^mx^isumlimits_{j=i}^m{mchoose j}{jchoose i}p^j(1-p)^{m-j})
    (=sumlimits_{i=0}^mx^ip^i{mchoose i})

  • 相关阅读:
    k8s-HPA自动伸缩pod数量
    k8s-命令使用
    k8s-业务镜像版本升级及回滚
    k8s-yml文件详解
    k8s-部署dashboard
    k8s-kubeasz项目后期添加节点及k8s版本升级
    k8s-部署kube dns及coredns
    CDNbest-访问限制
    CDNbest-访问限制
    CDNbest-改变回源host
  • 原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12285344.html
Copyright © 2020-2023  润新知