问题: 十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法?
这个问题推广一下,就是错排问题,是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。 n个元素的错排数记为D(n)。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。
错排问题最早被尼古拉·伯努利和欧拉研究,因此...
分类:
其他好文 时间:
2014-10-06 21:35:40
阅读次数:
278
使用扩展的欧几里得算法。对于初始的两个整数$x_1,y_1$,我们一定可以计算出$ax_1+by_1 = gcd(a,b)$,递推下一步,我们可以得到公式:\begin{equation} ax_1+by_1 = gcd(a,b) = gcd(b,a\%b) = bx_2 + (a\%b)y_2 \...
分类:
其他好文 时间:
2014-10-06 13:36:00
阅读次数:
200
此题虽是数学题,但是在题解中看到一种好的找递推式的思路,在此mark按照惯例,从一个盘子做起.n=1: 1次.n=2: 3次.n=3: 借助第4根柱子,5次搞定,比3根柱子省了2次.以后都需要充分利用第4根柱子以减少次数.n=4: 把1,2,3摊开,把1搭到2上面腾出一个空柱子移4,然后把3搭上去,...
分类:
其他好文 时间:
2014-10-05 12:50:18
阅读次数:
350
题目大意:定义一棵深度为d的严格n元树为根的深度为0,最深的节点深度为d,且每个非叶节点都有恰好n个子节点的树
给定n和d,求深度为d的严格n元树一共有多少种
此题的递推部分并不难 首先我们设深度为i的严格n元树一共有f[i]种 令S[i]为f[i]的前缀和
我们不难发现一棵深度为i以下的严格n元树由两部分组成:一个根节点,n棵子树,其中每棵子树的深度不超过i-1
每棵子树有S[i-1]种...
分类:
其他好文 时间:
2014-10-05 12:42:28
阅读次数:
194
题目:构造一个01串,使得其中的1不相邻,问长度为n的串有多少中。
分析:数学,递推数列。
设长度为n的串有n个,则有递推关系:f(n)= f(n-1)+ f(n-2);
长度为n的结束可能是0或者1:
如果结束是0,则前面是0或者是1都可以所以是f(n-1);
如果结束是1,则前面的必然是0...
分类:
其他好文 时间:
2014-10-05 11:40:58
阅读次数:
233
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-10-05 11:03:18
阅读次数:
276
11464 - Even Parity
Time limit: 3.000 seconds
We have a grid of size N x N. Each cell of the grid initially contains a zero(0) or a one(1).
The parity of a cell is the number of 1s surrounding...
分类:
其他好文 时间:
2014-10-04 13:04:46
阅读次数:
155
很容易想到的卡特兰数,不过复杂度高精度还是挺恶心的。于是用JAVA秒杀了。import java.math.BigInteger;import java.util.Scanner;public class Main { static BigInteger[] f=new BigInteger...
分类:
编程语言 时间:
2014-10-04 03:22:45
阅读次数:
281
思路详见 王知昆《浅谈用极大化思想解决最大子矩形问题》写得很详细(感谢~....)因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余思路也很简单先根据x排序之后两重循环,枚举i后的每一个点j到i可以形成的矩形面积怎么求这个矩形面积呢?非常简单,miny,...
分类:
其他好文 时间:
2014-10-04 00:59:15
阅读次数:
270
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到可以直接求解,也就是说到了递推的出口,这样原问题就有递推得解。 关键要抓住的是: (1)递归出口 (2)地推逐步向出口逼近 样例: example: 求5的阶乘。。 例如以下: Jav.....
分类:
编程语言 时间:
2014-10-03 21:41:25
阅读次数:
177