计算机_算法_组合数学
franztao
不想说话
展开
-
Ferrers_图像
Ferrers图像具有如下性质:1. 每一层至少有一个格子。2. 第一行与第一列互换,第二行与第二列互换,……,即上图绕虚线轴旋转所得的图仍然是Ferrers图像。这个的两个Ferers图像称为一对共轭的Ferrers图像。利用Ferrers图像可以得到整数拆分的非常有趣的结果。(a) 整数n拆分成k个数的和的拆分数,和数n拆分成最大数为k的拆分数相转载 2015-03-13 10:19:15 · 1962 阅读 · 0 评论 -
斐波那契数列
斐波那契序列 集锦 (转)[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质其实,结合“互质”的定义,和一个很经典的算法就可以轻松证明 对,就是辗转相除法 互质的定义就是最大公约数为1数学归纳法是很有用的证明方法,我们接下来这个定理用数学归纳法就很好证明: [定理2]若i为奇数, f(i)*f(i)转载 2015-03-13 10:22:47 · 1599 阅读 · 0 评论 -
斯坦纳树(Steiner Tree)
1. 什么是斯坦纳树? 斯坦纳树问题是组合优化学科中的一个问题。将指定点集合中的所有点连通,且边权总和最小的生成树称为最小斯坦纳树(Minimal Steiner Tree),其实最小生成树是最小斯坦纳树的一种特殊情况。而斯坦纳树可以理解为使得指定集合中的点连通的树,但不一定最小。2. 如何求解最小斯坦纳树? 可以用DP求解,dp[i][state转载 2015-03-12 16:21:40 · 6391 阅读 · 3 评论 -
组合数C(n,m)
问题:求解组合数C(n,m),即从n个相同物品中取出m个的方案数,由于结果可能非常大,对结果模10007即可。方案一暴力求解,C(n,m)=n*(n-1)*...*(n-m+1)/m!int Combination(int n, int m){const int M = 10007;int ans = 1;for(int i=n;转载 2015-03-14 09:35:17 · 2702 阅读 · 0 评论