• 【证明】【一题多解】【等价转换】—— 排列组合的计算


    1. 组合数的等价转换

    • 递推关系(降低规模):

    {(nk)=nk(n1k1)(nk)=nnk(n1k)

    • 拆分成两项

      (nk)=(n1k)+(n1k1)

      有如下两种形式的证明:

      • 根据组合数的定义((nk)=n!k!(nk)!),各自展开进行证明;
      • 《算法导论》提供了另外的思路,从实际意义出发,(nk) 表示 n 个对象中选择 k 个。考虑全体 n 个对象中的任意一个(是否被选中),根据其是否在最终选择的 k 个之中,可将 (nk) 拆分成两项,

        • k 中,即从余下的 n1 个对象中选择 k1 个对象:(n1k1)
        • 不在 k 中,即从余下的 n1 个对象中选择 k 个对象:(n1k)

        因此有:(nk)=(n1k)+(n1k1)

  • 相关阅读:
    多态性与转型
    安装tensorflow
    MySQL基础补缺
    各种排序算法理解
    Ubuntu命令行变成白色
    开机显示grub命令
    E: 无法获得锁 /var/lib/dpkg/lock-frontend
    类与方法
    Java语言浅谈
    二进制数的有效讨论
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9420932.html
Copyright © 2020-2023  润新知