zoukankan      html  css  js  c++  java
  • 卡特兰数扩展

    对于排队买票问题的一些说法.....

      假若有M+ N人去买票,n人手持5元,m人手持10元,而售货阿姨没有零钱,问有多少种方法能使大家都买到票。

    其中m<=n.M+N<=10;(初次在HBUOJ上看到.....)

        (1) 有已知条件 m<=n; 我们就不需要去考虑m>n时的情况啦!但是即便去考虑的话,这种情况依旧为零.

    因为m>n时,你不管这么排列都是不可能找开的...m*10-n*5>m*5----所以这个条件只是为我们减少了一小部分的时间.

        (2) m<=n时,我们发现对于随意的第K个位置出现的10多余5的时候不可能的情况 我们都可以找到

     对应的可以满足的情况 。

      比如  10 5 10 10 5  5  我们只需将后面的10 和5 换一下就行, 5 10 5 5 10 10 。

    再比如 10 5 10 5 5 我们只需将  5 10 5 5 10 (m<=n)

           那,我们总的分配情况为C(m+n,m) ,然后不能的情况为C(m+n,n+1)(m+1>n)

     最后加上分配排列就是(C(m+n,m)-C(m+n,n+1))*m!*n! 

    化解之后为: (m+1-n)*(m+n)!/(m+1);

     

  • 相关阅读:
    iOS 自动识别URL(链接)功能的实现
    iOS 如何查看崩溃日志
    Swift-- 闭包
    Swift--方法(函数)
    Swift--控制流
    Swift--字典的了解
    数据存储与访问之——SharedPreferences
    汇编指令之STOS、REP
    汇编指令之ADC、SBB、XCHG、MOVS指令
    pushad与popad
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3235972.html
Copyright © 2011-2022 走看看