HDU-1023 Train Problem II 卡特兰数(结合高精度乘除)
题目链接:https://cn.vjudge.net/problem/HDU-1023
题意
卡特兰数的应用之一
求一个长度为n的序列通过栈后的结果序列有几种
思路
一开始不知道什么是卡特兰数,猜测是一个递推题
注意到在序列第i个元素入栈时,前几个元素都进过栈,就是通过栈的操作
设n个元素通过栈的结果序列个数为h[n],则有:
\]
查了以后发现这是卡特兰数的规律,有通项:
\]
考虑到又要写高精度算法,想写python,发现没有python,只能先学一下java好了...
代码
// Main.java
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner cin=new Scanner(System.in);
        BigInteger[] num=new BigInteger[100+5];
        num[1]=new BigInteger("1");
        for (int i=2; i<=100; i++){
            Integer tmp1=4*i-2, tmp2=i+1;
            BigInteger a=new BigInteger(tmp1.toString());
            BigInteger b=new BigInteger(tmp2.toString());
            num[i]=num[i-1].multiply(a).divide(b);
        }
        while (cin.hasNext()){
            int n=cin.nextInt();
            System.out.println(num[n]);
        }
    }
}
| Time | Memory | Length | Lang | Submitted | 
|---|---|---|---|---|
| 202ms | 9892kB | 632 | Java | 2018-02-09 19:18:25 | 
HDU-1023 Train Problem II 卡特兰数(结合高精度乘除)的更多相关文章
- HDU 1023 Train Problem II (卡特兰数,经典)
		题意: 给出一个数字n,假设火车从1~n的顺序分别进站,求有多少种出站序列. 思路: 卡特兰数的经典例子.n<101,用递推式解决.需要使用到大数.n=100时大概有200位以下. #inclu ... 
- HDOJ 1023 Train Problem II 卡特兰数
		火车进站出站的问题满足卡特兰数...卡特兰数的相关知识如下: 卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列.由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. ... 
- HDU  1023  Train Problem II (大数卡特兰数)
		Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- hdu 1023 Train Problem II
		题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1212 Train Problem II Description As we all know the ... 
- hdu1032 Train Problem II (卡特兰数)
		题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ... 
- HDU 1023 Train Problem II( 大数卡特兰 )
		链接:传送门 题意:裸卡特兰数,但是必须用大数做 balabala:上交高精度模板题,增加一下熟悉度 /************************************************ ... 
- C - Train Problem II——卡特兰数
		题目链接_HDU-1023 题目 As we all know the Train Problem I, the boss of the Ignatius Train Station want to ... 
- HDU 1023 Train Problem II 大数打表Catalan数
		一个出栈有多少种顺序的问题.一般都知道是Catalan数了. 问题是这个Catalan数非常大,故此须要使用高精度计算. 并且打表会速度快非常多.打表公式要熟记: Catalan数公式 Cn=C(2n ... 
- 1023   Train Problem II(卡特兰数)
		Problem Description As we all know the Train Problem I, the boss of the Ignatius Train Station want ... 
随机推荐
- xBIM 基础12 WeXplorer xViewer的导航、相机、剖切、隐藏等操作
			系列目录 [已更新最新开发文章,点击查看详细] 本篇将学习xViewer的导航,剪切和隐藏.这应该足以使用户能够通过所有缩放,平移,轨道运行和隐藏可能的障碍物来检查建筑物内部.点击这里可以看到 ... 
- ibatis annotations 注解方式返回刚插入的自增长主键ID的值--转
			原文地址:http://www.blogs8.cn/posts/WWpt35l mybatis提供了注解方式编写sql,省去了配置并编写xml mapper文件的麻烦,今天遇到了获取自增长主键返回值的 ... 
- JQuery中的find、filter和each方法学习
			find() 概述 搜索所有与指定表达式匹配的元素.这个函数是找出正在处理的元素的后代元素的好方法. 所有搜索都依靠jQuery表达式来完成.这个表达式可以使用CSS1-3的选择器语法来写. 参数 e ... 
- js小知识 正则表达
			js定义正则表达式有两种方式:普通方式,构造函数方式 正则对象是js的内置对象 正则的属性 正则的方法 js中字符串的方法 一.普通方式(双斜杠//方式):var reg = /表达式/附加参数 表 ... 
- Android 实现下拉刷新和上拉加载更多的RECYCLERVIEW和SCROLLVIEW
			PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18 ... 
- (转载)Android支付宝支付封装代码
			Android支付宝支付封装代码 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-22我要评论 这篇文章主要介绍了Android支付宝支付封装代码,Android支付的时候 ... 
- 50个极好的bootstrap框架
			转自:http://sudasuta.com/bootstrap-admin-templates.html https://www.cnblogs.com/sanhao/p/9184323.html ... 
- swift语言点评十-Value and Reference Types
			结论:value是拷贝,Reference是引用 Value and Reference Types Types in Swift fall into one of two categories: f ... 
- ActiveMQ学习笔记(12)----ActiveMQ的集群
			1. Queue consumer cluster ActiveMQ支持Consumer对消息的高可靠性的负载均衡消费,如果一个Consumer死掉,该消息会转发到其他的Consumer消费的Queu ... 
- vue中使用viewerjs
			项目创建 插件Viewer.js vue init webpack mytest001 安装viewerjs npm install viewerjs 删掉生成的项目里面的helloWord.vue ... 
