zoukankan      html  css  js  c++  java
  • 题解 想想办法,想想办法

    想想办法,想想办法

    题面描述

    [sum_{n=0}^{r}sum_{k=0}^{n}k imes frac{C_{m-k-1}^{m-n-1}}{C_{m}^{n}} ]

    答案对(998244353)取模

    数据范围

    对于(100\%)的数据,(rle 10000000)(mle 10000000)

    样例输入

    114514 1919810

    样例输出

    996103057

    解题思路:

    对于里层

    [sum_{k=0}^{n}k imes frac{C_{m-k-1}^{m-n-1}}{C_{m}^{n}} ]

    我们进行化简

    首先对于分母不受(sum)的影响因此我们只用管分子即可,即化简

    [sum_{k=0}^{n}k imes C_{m-k-1}^{m-n-1} ]

    首先对于组合数我们运用(egin{aligned}dbinom{n}{m}=dbinom{n-1}{m-1} imes frac{n}{m}end{aligned})可以得到(egin{aligned}(m-k)dbinom{m-k-1}{m-n-1}=(m-n)dbinom{m-k}{m-n}end{aligned})

    随后我们要想运用此公式要提出((m-k)),因此我们将(k)写成(m-(m-k))

    则有(egin{aligned}sum_{k=0}^{n}k imes dbinom{m-k-1}{m-n-1}=sum_{k=0}^{n}(m-(m-k)) imes dbinom{m-k-1}{m-n-1}=msum_{k=0}^{n}dbinom{m-k-1}{m-n-1}-sum_{k=0}^{n}(m-k) imes dbinom{m-k-1}{m-n-1}=mA-(m-n)Bend{aligned})

    对于(egin{aligned}A=sum_{k=0}^{n}dbinom{m-k-1}{m-n-1}end{aligned})(egin{aligned}B=sum_{k=0}^{n}dbinom{m-k}{m-n}end{aligned})

    到这里就很简单了,对于(B)的话我们(egin{aligned}B=sum_{k=0}^{n}dbinom{m-k}{m-n}=sum_{m-k=0}^{n}dbinom{m-(m-k)}{m-n}=sum_{k=m-n}^{m}dbinom{k}{m-n}=sum_{k=0}^{m}dbinom{k}{m-n}end{aligned})

    然后到这里我们可以得到(egin{aligned}B=sum_{k=0}^{m}dbinom{k}{m-n}=dbinom{m+1}{m-n+1}end{aligned}),读者自证不难

    对于(A)我们的处理方法相同,但用(m-1)来代替(m)

    因此原柿子继续化简为(egin{aligned}mA-(m-n)B=mdbinom{m}{m-n}-(m-n)dbinom{m+1}{m-n+1}=(m-(m-n) frac{m+1}{m-n+1})dbinom{m}{m-n}=frac{n}{m-n+1}dbinom{m}{m-n}end{aligned})

    则我们有(egin{aligned}frac{frac{n}{m-n+1}dbinom{m}{m-n}}{dbinom{m}{n}}=frac{n}{m-n+1}end{aligned})

    随后此题就可以(O(n))做了

  • 相关阅读:
    基本数据类型
    概率—基础基本概念
    3.21上午
    3.10下午
    贪心算法回顾
    学习wait、notify和synchronized及Lock
    使用Files更优雅的对文件操作
    Linux下常用命令整理
    Unix下日志操作、访问GET请求
    操作Unix下docker中的redis
  • 原文地址:https://www.cnblogs.com/Ame-sora/p/13635658.html
Copyright © 2011-2022 走看看