zoukankan      html  css  js  c++  java
  • [2019.3.6]BZOJ4001 [TJOI2015]概率论

    发现答案=(frac{n exttt{个点的不同二叉树的叶子数量和}}{n exttt{个点的不同二叉树数量}})

    (n)个点的不同二叉树数量是卡特兰数的典型应用之一,NOIp2018提高组初赛还考过(单项选择第八题),卡特兰数的第(n)项是有(n)个节点的不同二叉树的数量(而题目里说是(n+1)个)。

    那么设卡特兰数第(i)项为(Ca_i)

    (n)个节点的不同二叉树的叶子数量和为(N_i)

    如何求(N_i)呢?

    (N_i=i imes Ca_{i-1})

    为什么?

    打个表找个规律就好了233

    所以答案=(frac{n imes Ca_{n-1}}{Ca_n})

    又有(Ca_i=frac{C^{2i}_i}{i+1}=frac{(2i)!}{i! imes(i+1)!})

    则答案(=frac{n imes(2n-2)! imes n! imes(n+1)!}{(2n)! imes(n-1)! imes n!})

    (=frac{n(n+1)}{2(2n-1)})

    code:

    #include<bits/stdc++.h>
    using namespace std;
    double n;
    int main(){
        scanf("%lf",&n);
        printf("%.9lf",n*(n+1)/((n*2-1)*2));
        return 0;
    }
    
  • 相关阅读:
    hdu 4508
    hdu 4506
    hdu 4505
    hdu 1525
    hdu 2212
    (贪心)删数问题
    (最短路 Dijkstra) hdu 1544
    (次小生成树) poj 1679
    (prim)hdu 1102
    (kruskal)hdu 1863
  • 原文地址:https://www.cnblogs.com/xryjr233/p/BZOJ4001.html
Copyright © 2011-2022 走看看