题目链接:UVa 10007

题意:统计n个节点的二叉树的个数

1个节点形成的二叉树的形状个数为:1

2个节点形成的二叉树的形状个数为:2

3个节点形成的二叉树的形状个数为:5

4个节点形成的二叉树的形状个数为:14

5个节点形成的二叉树的形状个数为:42

把n个节点对号入座有n!种情况

所以有n个节点的形成的二叉树的总数是:卡特兰数F[n]*n!

程序:

 import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner cin=new Scanner(System.in);
BigInteger h[]=new BigInteger[302];
BigInteger a[]=new BigInteger[302];
BigInteger fact=BigInteger.valueOf(1);
int n;
h[1]=BigInteger.valueOf(1);
a[1]=BigInteger.valueOf(1);
for(int i=2;i<=300;i++){
fact=fact.multiply(BigInteger.valueOf(i));
BigInteger k=BigInteger.valueOf(i*4-2);
h[i]=h[i-1].multiply(k);
h[i]=h[i].divide(BigInteger.valueOf(i+1));
a[i]=h[i].multiply(fact);
//System.out.println(" "+h[i]+" "+fact+" "+a[i]);
}
while(true){
n=cin.nextInt();
if(n==0)
break;
System.out.println(a[n]);
}
}
}

UVa 10007 - Count the Trees(卡特兰数+阶乘+大数)的更多相关文章

  1. uva 10007 Count the Trees

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  2. hdu 1130How Many Trees?(卡特兰数)

    卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列. 以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为(从第零 ...

  3. nyoj 28-大数阶乘 (大数模板)

    28-大数阶乘 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:19 submit:39 题目描述: 我们都知道如何计算一个数的阶乘,可是,如果这个数 ...

  4. hdu 1023 卡特兰数《 大数》java

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. HDU-1134 卡特兰数+java大数模板

    题意: 给你一个n,然后1,2,3...2n-1,2n围一圈,让每个数都能用一条线配对并且线与线之间不能交叉,问有几种方法数. 思路: 1 可以和2,4,6...连接.假如   一共有8个数,1和2连 ...

  6. Uva 10007 / HDU 1131 - Count the Trees (卡特兰数)

     Count the Trees  Another common social inability is known as ACM (Abnormally Compulsive Meditation) ...

  7. uva 1478 - Delta Wave(递推+大数+卡特兰数+组合数学)

    option=com_onlinejudge&Itemid=8&category=471&page=show_problem&problem=4224" st ...

  8. 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂

    I.あなたの蛙が帰っています   链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网     这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...

  9. poj 1095 Trees Made to Order 卡特兰数

    这题用到了卡特兰数,详情见:http://www.cnblogs.com/jackge/archive/2013/05/19/3086519.html 解体思路详见:http://blog.csdn. ...

随机推荐

  1. android 定位的四种方式

    [原文]  开发中对于地图及地理位置的定位是我们经常要用地,地图功能的使用使得我们应用功能更加完善,下面总结了一下网络中现有对于介绍android定位的4种方式,希望对大家有帮助: android 定 ...

  2. svn 入门

    SVN版本:1.5 及更新版本 名词说明: WC:Working Copy 你的工作区 Versioned:受控的:受版本控制的 SVN是什么? SVN是开源的版本控制系统. 比CVS更多的特性.一个 ...

  3. 【iTerm2】美化你的Terminal 赠佛祖像

    我们开发就是喜欢各种酷炫的东西,对于有洁癖的我,连命令行都不放过了 先上图看效果,命令行显示高亮部分 实现过程: 第一步:.bash_prompt脚本 # ~/.bash_prompt # This  ...

  4. membership db注册工具

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

  5. VB的判断语句和循环语句

      判断语句 •If语句 if语句共有4种写法: 第一种语法: If 条件判断语句 then 程序代码 第二种语法:If 条件判断语句 then 程序代码 else 程式代码 第三种语法: If 条件 ...

  6. ”靠谱的C#“单例模式

    //静态构造函数的单例模式 public sealed class Singleton { private static readonly Singleton _instance = new Sing ...

  7. [LeetCode]题解(python):100 Same Tree

    题目来源 https://leetcode.com/problems/same-tree/ Given two binary trees, write a function to check if t ...

  8. animate实现动画效果

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)

    通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...

  10. imx6 lvds 代码分析

    查看imx6 kernel中lvds设备和驱动的初始化过程. 相关文档: arm/arm/mach-mx6/board-mx6q_sabresd.c kernel/drivers/video/mxc/ ...