UVa 10007 - Count the Trees(卡特兰数+阶乘+大数)
题目链接: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(卡特兰数+阶乘+大数)的更多相关文章
- uva 10007 Count the Trees
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- hdu 1130How Many Trees?(卡特兰数)
卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列. 以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为(从第零 ...
- nyoj 28-大数阶乘 (大数模板)
28-大数阶乘 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:19 submit:39 题目描述: 我们都知道如何计算一个数的阶乘,可是,如果这个数 ...
- hdu 1023 卡特兰数《 大数》java
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU-1134 卡特兰数+java大数模板
题意: 给你一个n,然后1,2,3...2n-1,2n围一圈,让每个数都能用一条线配对并且线与线之间不能交叉,问有几种方法数. 思路: 1 可以和2,4,6...连接.假如 一共有8个数,1和2连 ...
- Uva 10007 / HDU 1131 - Count the Trees (卡特兰数)
Count the Trees Another common social inability is known as ACM (Abnormally Compulsive Meditation) ...
- uva 1478 - Delta Wave(递推+大数+卡特兰数+组合数学)
option=com_onlinejudge&Itemid=8&category=471&page=show_problem&problem=4224" st ...
- 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂
I.あなたの蛙が帰っています 链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网 这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...
- poj 1095 Trees Made to Order 卡特兰数
这题用到了卡特兰数,详情见:http://www.cnblogs.com/jackge/archive/2013/05/19/3086519.html 解体思路详见:http://blog.csdn. ...
随机推荐
- register instruction pointer
Computer Science An Overview _J. Glenn Brookshear _11th Edition We have already encountered the conc ...
- Linux core 文件介绍
Linux core 文件介绍 http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html 1. core文件的简单介绍在一个 ...
- Java Socket Option
选项 public final static int TCP_NODELAY = 0x0001; public final static int SO_REUSEADDR = 0x04; public ...
- Mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业平台性无关的基础组件
http://www.oschina.net/p/wechat-mars http://www.oschina.net/news/80453/wewechat-open-source-plan
- 【Android测试】【第四节】LogCat——认识和使用
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4682321.html 什么是LogCat LogCat可以 ...
- XLAT转码:以DS:【BX+AL】为地址,提取存储器中的一个字节再送入AL
data segment a db ,,,,,,,, b dw ;sum of a table db 11h,22h,33h,44h,55h,66h,77h,88h,99h ends code seg ...
- 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目。
1.在eclipse的项目上点右键,刷新项目.2.在项目上点右键,进入属性(properties)3.在左侧列表项目中点击选择“Project Facets”,在右侧选择“Dynamic Web Mo ...
- new和delete malloc和free
程序中动态分配的对象存放在自由存储区(free store)或堆(heap). C语言程序使用一对标准库函数malloc和free在自由存储区中分配存储空间,而C++语言则使用new和delete表达 ...
- cell的imageVIew的fram问题
今天你在输出cell的imageVIew的fram时,发现新建的cell的imageVIew的frame是(0,0,0,0),但是重用的cell的imageVIew的frame输出是(15,19,30 ...
- ECSHOP给分类添加图
1.修改/admin/template/category_info.html <tr> <td>{$lang.cat_img}:</td> <td> & ...