题目链接:点击打开链接
首先要n-=2,然后就是一个卡特兰数了。
上一题用的是 h(n) = h(n-1) * (4n-2)/(n+1);
这题用的是 h(n) = (2n)! * n! / (n+1)!;
然后对阶乘分解质因数:
点击打开链接
分解完了直接快速幂。
#include
#include
#include
#include
using namespace std;
#d...
分类:
其他好文 时间:
2014-11-29 16:04:29
阅读次数:
284
题目链接:点击打开链接
题意:
卡特兰数前n项和 结果%m
把答案当成2部分搞。
#include
#include
#define int __int64
const int N = 100000;
struct inverse_element{
int x, y, q;
void extend_Eulid(int a,int b)
{
if(...
分类:
其他好文 时间:
2014-11-29 14:37:37
阅读次数:
170
题目意思:
http://acm.hdu.edu.cn/showproblem.php?pid=1023
求出第n个卡特兰数,n
题目分析:
很明显c(n)将很大,我们可以用大数模板,也可以用java中的大整数类,这里用到了java,将java在处理大数的时候还是很有优势的。
AC代码:
/**
* java实现卡特兰数
* 前几项:1, 2, 5, 14, 42, 132,...
分类:
其他好文 时间:
2014-11-29 11:56:12
阅读次数:
182
卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。历史上,清代数学家明安图(1692年-1763年)在其《割圜密率捷法》最早用到“卡塔兰数”,远远早于卡塔兰。有中国学者建议将此数命名为“明安图数”或“明安图-卡塔兰数”。卡塔兰数的一般...
分类:
其他好文 时间:
2014-11-22 11:46:51
阅读次数:
247
火车进站问题卡特兰数引入的例子。卡特兰数递推公式:h(n)=h(n-1)*(4*n-2)/(n+1)通项公式:h(n)=c(2n,n)/(n+1)...这题需要高精度,刚好学了一下java。。。第一次写的java好丑啊,还好1y了。。import java.math.*;import java.ut...
分类:
其他好文 时间:
2014-11-11 16:21:09
阅读次数:
222
排列组合是数学中的一个分支,在计算机编程方面也有很多的应用,主要有排列公式和组合公式,错排公式、母函数、Catalan Number(卡特兰数)等。
一、有关组合数学的公式
1、排列公式 P(n,r)=n!/r!
2、组合公式 C(n,r)=n!/(r!*(n-r)!) C(n,r)=C(n-1,r)+C(n-1,r-1)
3、错排公式 d[1]=0; d[2]=1;...
分类:
其他好文 时间:
2014-10-28 13:54:37
阅读次数:
210
新GET了一种卡特兰数的应用……在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次。在满足这些线段将圆分成最少部分的前提下,请计算有多少种连线的方法。不会证明,当结论记住吧。f(i)=f(i-1)*(4*n-2)/(i+1) (2 2 using namesp...
分类:
其他好文 时间:
2014-10-27 09:19:37
阅读次数:
203
题目:气你一个整数n,问多少个节点可以生成n个不同的二叉树。
分析:数论,卡特兰数。根据定义即可。
说明:
#include
#include
using namespace std;
long long Cat[100];
int main()
{
Cat[0] = 1LL;
for (int i = 1 ; i < 20 ; ++ i)
Cat[i] = Cat[i...
分类:
其他好文 时间:
2014-10-14 11:54:38
阅读次数:
140
求卡特兰数前N项的和模M。直接求必定是不可能的,卡特兰数太大了。想了好久,本打算把位数拆成素数相乘,然后记录下各素数的个数计算。可惜,TLE。。。。因为N太大了。除法必定是要用到逆元的,但分母与M不一定互质。M拆成素数相乘形式,记录下各个素数在数组PRIME。于是,可以把4*i-2和i+1拆成素数相...
分类:
其他好文 时间:
2014-10-11 01:41:24
阅读次数:
215
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=948 卡特兰数*n! 1 import java.math.BigInteger; 2 import jav...
分类:
其他好文 时间:
2014-10-10 22:00:04
阅读次数:
158