zoukankan      html  css  js  c++  java
  • 1133catalan数二维变种

    解题思路:
        这个题目直接求合理的排序比较烦琐,采用模拟的方法也显然不行。可以先考虑可以实现的概率,再用实际的总次数去乘。
        先把所有的n个拿50的人排好,接下来再把拿100的人插入队列。求可行的概率。
        n个拿50的人有n+1个空位,除了第一个以外,其他的位置都可以,所以概率是n/n+1,在以上的基础下,第2个的的概率是n-1/n(由于是求概率,所以可以把所有的拿50或100的人看成是一样的,在这个前提下可以认为第一个拿50的人和第一个拿100的人一起消失了。为什么可以这么认为?由于在求概率,不去除的化会重复计算,具体读者自己思考)。
    同理直到最后一个拿100的插入队列,他成功的概率是n-m+1/n-m+2。
        以上所有都发生,才使最后的队伍满足要求。所以最后成功的概率是n-m+1/n+1。再乘上全部的排列就是答案(m+n)!*(n-m+1)/(n+1)
        最好高精度处理


    这题也可以用组合数学的路程方法求解

    公式为 C(m+n,m)-C(m+n,m-1)=(m+n)!(n-m+1)/(m!(n+1)!)




  • 相关阅读:
    事件的基本概念
    c# 语法 字符串内插
    tcp 的编程例子
    Action 语法的简介
    wcf 的小介绍
    Socket编程
    c# base new 等关键字基础
    虚函数和继承的关系
    arraylist,list ,数组区别
    Python爬虫-selenium模拟豆瓣电影鼠标下拉
  • 原文地址:https://www.cnblogs.com/windmissing/p/2559897.html
Copyright © 2011-2022 走看看