zoukankan      html  css  js  c++  java
  • 插板法(排列组合)

    插板法的条件

    (1)每个元素都是相同的

    (2)分成的组,每组的元素不为空

    就比如下面这个例子,分出来的组的元素是不为空的

    将10个相同的球放到3个不同的篮子里面去,每个篮子至少一个,问有多少种放法

    0-0-0-0-0-0-0-0-0-0     0代表球,-代表板子, 将9个板插入到10个球中, 我们只要从中选出2个板子, 自然而然就把球分成三堆了

    即C(9,2)

    将10个相同的球放到3个不同的篮子里面去,每个篮子可以为空,问有多少种方法

    因为每个篮子可以为空,即每组的元素可以为空, 不符合第二个条件。 我们可以事先在每个篮子里放一个球, 那么每个篮子就不为空了

    那么就转为将13个相同的球放到3个不同的篮子里面去, 每个篮子至少有一个球

    即C(12,2)

    将10个相同的篮子放到3个不同的篮子里面去,要求第一个篮子至少一个球, 第二个篮子至少3个球, 第三个篮子可以为空

    可以将10个球中的三个放到第二个篮子里去,  然后再在第二个和第三个篮子里面放一个球

    就转为了将9个球放到3个篮子里面去, 每个篮子至少一个球

    即C(8,3)

  • 相关阅读:
    websocket
    关于Java中的常量优化机制
    关于使用键盘录入Scanner录入不对应类型的错误
    哈希表
    集合-----双列
    树形结构
    leetcode_14: 最长公共前缀
    leetcode_283_移动零
    leetcode_4_ 寻找两个正序数组的中位数
    leetcode_402_ 移掉K位数字
  • 原文地址:https://www.cnblogs.com/justPassBy/p/4600772.html
Copyright © 2011-2022 走看看