有n个信封,包含n封信,现在把信拿出来,再装回去,要求每封信不能装回它原来的信封,问有多少种装法?
给定一个整数n,请返回装发个数,为了防止溢出,请返回结果Mod 1000000007的值。保证n的大小小于等于300。
测试样例:2 返回 1
一开始我以为是卡特兰数问题:卡特兰数应用
考虑半天,但是也无法列出卡特兰数的公式。安静下来发现...
分类:
其他好文 时间:
2016-08-01 15:56:14
阅读次数:
273
卡特兰数。 这道题打下表可以看出前几项是卡特兰数(怎么想到打表和卡特兰数?我事先看了题解,为了确认一下。) 因为p不是质数,所以不能用乘法逆元。 我们可以把C(2*n,n)/(n+1)的每一项分解成一个质数,然后乘,这样就可以了。 #include #include #include #define... ...
分类:
其他好文 时间:
2016-07-04 01:13:42
阅读次数:
211
首先我按着我的理解说一下它为什么是卡特兰数,首先卡特兰数有一个很典型的应用就是求1~N个自然数出栈情况的种类数。而这里正好就对应了这种情况。我们要满足题目中给的条件,数字应该是从小到大放置的,1肯定在左上角,所以1入栈,这时候我们放2,如果我们把2放在了1的下面就代表了1出栈,把2放在上面就代表了2 ...
分类:
其他好文 时间:
2016-06-09 14:45:05
阅读次数:
209
卡特兰数源于组合数学,ACM中比较具体的使用例子有,1括号匹配的种数。2在栈中的自然数出栈的种数。3求多边形内三角形的个数。4,n个数围城圆圈,找不相交线段的个数。5给定n个数,求组成二叉树的种数…… 此题就是第4个样例,是裸卡特兰数,但是这里牵扯的大数,可以使用java的大数类解决,但是我这里使用 ...
分类:
其他好文 时间:
2016-06-09 00:20:40
阅读次数:
194
//h( n ) = ( ( 4*n-2 )/( n+1 )*h( n-1 ) ); #include<stdio.h> //******************************* //打表卡特兰数 //第 n个 卡特兰数存在a[n]中,a[n][0]表示长度; //注意数是倒着存的,个位是 ...
分类:
其他好文 时间:
2016-06-06 18:27:44
阅读次数:
165
N * N的方格,从左上到右下画一条线。一个机器人从左上走到右下,只能向右或向下走。并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10007的结果。 Input Output Input示例 Output示例 ...
分类:
其他好文 时间:
2016-05-27 16:39:28
阅读次数:
488
1086 栈 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 1086 栈 2003年NOIP全国联赛普及组 1086 栈 2003年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题 ...
分类:
其他好文 时间:
2016-05-22 18:21:19
阅读次数:
224
Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡特兰数的前几个数
前20项为(OEIS中的数列A000108):1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 969...
分类:
编程语言 时间:
2016-05-22 12:27:51
阅读次数:
246
Problem Description
The “Harry Potter and the Goblet of Fire” will be on show in the next few days. As a crazy fan of Harry Potter, you will go to the cinema and have the first sight, won’t you?Suppos...
分类:
其他好文 时间:
2016-05-22 12:20:11
阅读次数:
181