加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

hdu 1130 How Many Trees?

发布时间:2020-12-14 03:42:24 所属栏目:大数据 来源:网络整理
导读:hdu ? 1130 ? How Many Trees? ? ? ? ? ? ? ? ? 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1130 题目大意:给出整数n,求由1~n组成的二叉查找树有多少种。 题目分析:卡特兰数(用的递归大数)。 code: import java.math.*;import java.util.Sc

hdu ? 1130 ? How Many Trees? ? ? ? ? ? ? ? ? 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1130

题目大意:给出整数n,求由1~n组成的二叉查找树有多少种。

题目分析:卡特兰数(用的递归&&大数)。

code:

import java.math.*;
import java.util.Scanner;
public class Main {
	static BigInteger two=new BigInteger("2");
	static BigInteger four=new BigInteger("4");
	static BigInteger one=BigInteger.ONE;
	public static BigInteger h(BigInteger n){
		if(n.compareTo(two)<0)return one;
		return n.multiply(four).subtract(two).multiply(h(n.subtract(one))).divide(n.add(one));
	}
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		BigInteger n=null;
		while(in.hasNextInt()){
			n=in.nextBigInteger();
			System.out.println(h(n));
		}
	}

}
PS:虽然是抄的,但还是学了java大数……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读