发现答案=(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;
}