首页 > 代码库 > HDU 1130
HDU 1130
题目大意
给定节点数 , 求通过这么多个节点能得到的二叉树的组成方式
用卡特兰数解决
f[n] = (4*n-2) * f[n-1] / (n+1);
递归不断解决
1 /** 2 * @(#)Main.java 3 * 4 * 5 * @author 6 * @version 1.00 2014/12/29 7 */ 8 9 import java.util.Scanner;10 import java.math.*;11 12 public class Main {13 14 15 public static void main(String [] args){16 int n;17 Scanner input = new Scanner(System.in);18 19 while(input.hasNext()){20 n = input.nextInt();21 BigInteger cur = BigInteger.valueOf(1);22 for(int i = 2 ; i<=n ; i++){23 int t1 = 4*i - 2;24 int t2 = i+1;25 BigInteger tmp1 = BigInteger.valueOf(t1);26 cur = cur.multiply(tmp1);27 BigInteger tmp2 = BigInteger.valueOf(t2);28 cur = cur.divide(tmp2);29 }30 System.out.println(cur);31 }32 }33 34 35 }
HDU 1130
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。