UVA10303 - How Many Trees?(java大数+catalan数)
来源:互联网 发布:base.apk软件下载 编辑:程序博客网 时间:2024/05/22 12:01
UVA10303 - How Many Trees?(java大数+catalan数)
题目链接
题目大意:给你1-N N个数,然后要求由这些数构成二叉搜索树,问有多少种这样的二叉搜索树。
解题思路:把前5项理出来,正好是1 2 5 14 42..就猜想是catalan数,结果也是对了。公式f(i + 1) = (4∗i - 6)/ i; (i >= 2).结果很大,要用高精度。
代码:
import java.util.*;import java.math.*;import java.io.*;public class Main { static BigInteger f[] = new BigInteger[1005]; public static void init () { f[1] = BigInteger.valueOf(1); f[2] = BigInteger.valueOf(1); BigInteger c; for (int i = 2; i <= 1001; i++) { c = BigInteger.valueOf(i); f[i + 1] = f[i].multiply(BigInteger.valueOf(4).multiply(c).subtract(BigInteger.valueOf(6))).divide(c); } } public static void main(String args[]) { Scanner cin = new Scanner(System.in); init(); while (cin.hasNext()) { int n = cin.nextInt(); System.out.println(f[n + 2]); } }}
0 0
- UVA10303 - How Many Trees?(java大数+catalan数)
- UVa10303 - How Many Trees?
- HDU 1130 How Many Trees?(Catalan + 大数)
- 简单Catalan数-hdu-1130-How Many Trees?
- hdu 1130 How Many Trees?(Catalan数)
- HDU 1130 How Many Trees?(卡特兰数+大数)
- hdu 1130 How Many Trees?(二叉树节点的Catalan数)
- hdu1130 How Many Trees?(Catalan+高精)
- hdu 1130 How Many Trees?(卡特兰数,大数的乘法与除法)
- HDOJ 1130 How Many Trees?(卡特兰数+大数乘除法)
- How Many Fibs_hdu_1316(大数).java
- 【HDU】1130 - How Many Trees?(java - BigDecimal & 卡特兰大数打表)
- 杭电ACM1130——How Many Tree?~~Catalan数
- hdu 1130 How Many Trees? (java)
- hdu1134大数+catalan数
- Codeforces_9D-How many trees?
- How Many Trees?
- hdu1130-How Many Trees?
- JVM(Java虚拟机)优化大全和案例实战
- linux内核epoll实现分析
- 如何在XSLT样式表中声明命名空间
- java中override和java编译器compiler版本的问题
- Spring的SimpleUrlHandlerMapping实例(有三种配法)
- UVA10303 - How Many Trees?(java大数+catalan数)
- hdu-1253
- 平衡二叉树的的插入
- 如何解决“Error detected while processing /root/.vimrc:”
- 神器 VisuAlgo:通过动画学习算法和数据结构
- Unable to execute dex: java.nio.BufferOverflowException.解决办法
- Java学习计划 目标java大神 英语大神 日语大神 游戏大神 动漫大神 说话大神 男神大神
- CF 412 D Giving Awards(拓扑排序)
- unity学习之多态和索引器