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)

  • 相关阅读:
    501. Find Mode in Binary Search Tree
    [leetcode]Evaluate Reverse Polish Notation
    [leetcode]LRU Cache
    [mock]12月27日
    [mock]12月28日
    [leetcode]Max Points on a Line
    *[topcoder]JumpFurther
    [mock]12月11日
    *[topcoder]GUMIAndSongsDiv1
    [leetcode]Reorder List
  • 原文地址:https://www.cnblogs.com/justPassBy/p/4600772.html
Copyright © 2011-2022 走看看