随笔分类 -  组合数学

摘要:1)从n个不同元素里,选取r个元素进行全排列 n*(n-1)*(n-2)*(n-r+1)=n!/(n-r)! 2)从n个不同元素里,任取r个元素组成一个子集 C(n,r)=n!/((n-r)!*r!) 3)圆排列 n!/(n-r)!/r 10个人要坐一桌,其中有2个人不愿意彼此挨着就做,共有多少循环 阅读全文
posted @ 2016-03-17 14:49 咸咸的告别 阅读(2604) 评论(0) 推荐(0)
摘要:第一类 有正负的,其绝对值是包含n个元素的集合分成k个非空环排列的方法数。 S(p,k) 将p个物体排成k个非空循环排列的方法数。 S(p,k)=(p-1)*S(p-1,k)+S(p-1,k-1) ,1<=k<=p-1 第p的物品单独一个排列,其余k-1个物品排列的方法数:S(p-1,k-1) 前p 阅读全文
posted @ 2016-03-17 09:26 咸咸的告别 阅读(250) 评论(0) 推荐(0)
摘要:如果数组a当前的排序为{1,2,3,5,4}对这5个元素进行排序,找它的下一个排序 next_permutation(a,a+n);找它的前一个就是 prev_permutation(a,a+n); 有了这个函数,对于数组的字典序排列就方便很多啦; 现在看一道例题 HDU 1027 注意头文件名为: 阅读全文
posted @ 2016-02-24 15:46 咸咸的告别 阅读(182) 评论(0) 推荐(0)
摘要:鸽巢原理又称抽屉原理基本原理: n+1只鸽子飞回n个鸽笼,至少有一个鸽笼含有2只他的数学描述语言为:m个元素分成n组,那么总有一组至少含有元素个数为 [m/n]设a1,a2,a3,....am是正整数的序列,试证明至少存在整数k,l, (1=#includeusing namespace std;... 阅读全文
posted @ 2015-11-07 18:56 咸咸的告别 阅读(1057) 评论(0) 推荐(0)
摘要:容斥原理的应用小象: UVA 861在国际象棋的规定中,象只能从他所在的位置走对角线,如果两只象处于同一斜线上,他们将攻击对方,现给定2个数字n和k,在n*n的棋盘放k个不互相攻击放入小象有多少种放法? (1=#includeusing namespace std;const int N=8;in... 阅读全文
posted @ 2015-11-07 17:27 咸咸的告别 阅读(240) 评论(0) 推荐(0)
摘要:整数拆分分为有序拆分和无序拆分; 有序拆分: 把n拆分为 r个数,就相当于把n个球用 r-1块隔板插入到n-1个空隙里 C(r-1,n-1); 放球模型,把n个无区别的球放入到r个有区别的盒子里,每个盒子至少一个。 无序拆分: 把n拆分为 r个数,把n个相同的球放入到r个相同的盒子里,允许盒子为空。 阅读全文
posted @ 2015-11-02 17:05 咸咸的告别 阅读(1107) 评论(0) 推荐(0)