HDU How Many Trees

简介:

How Many Trees?

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 163 Accepted Submission(s): 102
Problem Description
A binary search tree is a binary tree with root k such that any node v reachable from its left has label (v) <label (k) and any node w reachable from its right has label (w) > label (k). It is a search structure which can find a node with label x in O(n log n) average time, where n is the size of the tree (number of vertices). 

Given a number n, can you tell how many different binary search trees may be constructed with a set of numbers of size n such that each element of the set will be associated to the label of exactly one node in a binary search tree?
 
Input
The input will contain a number 1 <= i <= 100 per line representing the number of elements of the set.
 
Output
You have to print a line in the output for each entry with the answer to the previous question.
 
Sample Input
1
2
3
 
Sample Output
1
2
5
 
卡特兰数
 
import java.math.BigDecimal;
import
 java.util.*;
public class
 Main {
  public static
 void main(String[] args){
  BigDecimal
 []t = new BigDecimal[101];
  BigDecimal
 n,b;
  int
 k;
  Scanner
 cin = new Scanner(System.in);

  t[1] = BigDecimal.valueOf(1);
  for
(int i = 2;i< 101;i++){

  n = BigDecimal.valueOf(i);
  b = BigDecimal.valueOf(4).multiply(n);
  b = b.subtract(BigDecimal.valueOf(2));
  n = n.add(BigDecimal.valueOf(1));
  b = b.multiply(t[i-1]);
  t[i] = b.divide(n);
  //System.out.println(t[i]);
  }
  while
(cin.hasNext()){

  k = cin.nextInt();
  System
.out.println(t[k]);
  }
  }
}











本文转自NewPanderKing51CTO博客,原文链接: http://www.cnblogs.com/newpanderking/archive/2011/07/31/2122523.html  ,如需转载请自行联系原作者


相关文章
|
8月前
|
机器学习/深度学习 安全 Java
hdu-1596-find the safest road(dijkstra)
hdu-1596-find the safest road(dijkstra)
56 0
[HDU 4738] Caocao‘s Bridges | Tarjan 求割边
Problem Description Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi. But he wouldn’t give up. Caocao’s army still was not good at water battles, so he came up with another idea. He built many islands in the Changjiang river,
148 0
|
算法 Go
HDU-1548,A strange lift(Dijkstra)
HDU-1548,A strange lift(Dijkstra)
HDU-1142,A Walk Through the Forest(Dijkstra+DFS)
HDU-1142,A Walk Through the Forest(Dijkstra+DFS)
HDOJ/HDU 1372 Knight Moves(经典BFS)
HDOJ/HDU 1372 Knight Moves(经典BFS)
143 0
|
机器学习/深度学习
|
人工智能 Java