发布网友
共2个回答
热心网友
递推即可……
首先一个n个节点的二叉树有两个子树,它们的子节点的和是n-1,那么枚举两个个子树的节点数,从0~n-1,然后当前答案就是每次子树答案的乘积的和
即f[n]=f[n]*f[0]+f[n-1]*f[1]+f[n-2]*f[2]……f[0]*f[n]
边界:f[0]=1,f[1]=1
后从f[2]一直算到f[n]就行了
程序略
不过粗略估计此题的数据规模 5000
估计需要用到高精度乘法和加法,楼主保重……
热心网友
二叉树的个数和节点的关系是:S(个数) = n!- 1 ;
可以自己画图理解。
至于测试数据,很明显出现最坏情况是会溢出的。推荐用long long型。注意,不是long而是
long long (16字节128位)
ok。以上,祝顺利。追问pascal哦
追答pascal的话,就找类似的位数据类型