本文出自:blog.csdn.net/svitter
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2045
题意:中文不用我说了吧。
这个题目的关键就在于递推方程——以及错误的测试数据
首先这个题目就是简单的置换群着色问题——
去除了反转的问题,难一点的大家可以看P197(离散数学,高等教育出版社)
我在做这个题目的时候首先被f...
分类:
其他好文 时间:
2014-05-04 00:20:06
阅读次数:
388
poj 2249 Binomial Showdown 组合数公式优化...
分类:
其他好文 时间:
2014-05-03 17:24:41
阅读次数:
329
本文出自:http://blog.csdn.net/svitter
题意:错排情况的数量,打表求错排数即可。
错排数公式:f [ n ] = ( n - 1 ) * ( f [ n - 1 ] + f [ n - 2] );
也可以这么想;
(1).f [ 1 ] = 0 ; f [ 2 ] = 1;
(2).如果确定f [ n - 1 ] 和 f [ n - 2 ] 的话。...
分类:
其他好文 时间:
2014-05-01 18:33:35
阅读次数:
248
主要的子问题是每一个队伍有一个做出题目的概率,求做出k个题目的概率。简单的简单的组合数DP。想清楚即可。
1: #include 2: #include 3: #include 4: using namespace std; 5: 6: double
dp[35][35]; 7: double p[...
分类:
其他好文 时间:
2014-05-01 11:00:44
阅读次数:
328
组合数学、-排列组合数----sum求sum=sum*(m--)/i;int c(int
n,int m)//n下标,m上标{ int sum=1; for(int i=1;in-m) m=n-m; int temp=n; for(int
i=1;i1) { up[j]/=temp; d...
分类:
其他好文 时间:
2014-05-01 01:07:44
阅读次数:
409
题意:有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近。输出分得的两堆各自的价值。
利用母函数法来解决,因为分成两堆,而两堆中较小的一堆最大为所有物品总价值量的一半,所以母函数的组合数上下就可以设置成总价值量的一半。求出所有的组合后,可以利用贪心的思想来得到答案,因为要求两堆之差尽可能小,所以就可以从总价值量的一半开始向小的方向找,找到最大的价值量,则另一堆的价值量就是总价值量-此堆的价值量。因为组合数可能较大,这里不记录组合种数,而是用一个标记来表示该数能否组合出即可。...
分类:
其他好文 时间:
2014-04-29 13:42:20
阅读次数:
302
好高兴 一上午做了2个题 题意:求素因子只有2 3 5 7 数 约束的个数 我用的时搜索计数法
感觉还应该有比较不错的组合数学方法#includeusing namespace std;__int64 dmax;int prime[4];void
dfs(int t){ if(t>=4) { ...
分类:
其他好文 时间:
2014-04-29 11:21:47
阅读次数:
278
组合数学、-排列组合数----sum求sum=sum*(m--)/i;----二维数组递推(打表)---原始公式(单个)数字太大,用分子分母约分-全排列模板-----生成全排列函数prev_permutation和next_permutation区别http://www.cnblogs.com/zh...
分类:
其他好文 时间:
2014-04-29 10:31:46
阅读次数:
408