10月23号的时候,写了用递归和动态规划的方式解决货币组合的方法(见《一个货币组合的问题》)这两天看到《组合数学》中,使用母函数(生成函数)解决排列组合问题的方法,觉得可以用在货币组合问题上。试验了一下,果然可以。(这里空出,详细地写一下母函数的方法,加深自己的理解。)代码如下: 1 #includ...
分类:
其他好文 时间:
2014-11-11 17:59:57
阅读次数:
185
求整数的拆分数。。一种解法是母函数#include #include #include#include#include#includeusing namespace std;#define MAXN 10000int dp[2][130];int main(){ int n; while...
分类:
其他好文 时间:
2014-11-07 20:44:38
阅读次数:
173
DROP TYPE TGREECE_ALPHABET_LIST;CREATE OR REPLACE TYPE TGREECE_ALPHABET_LIST AS VARRAY (24) OF VARCHAR2(2)/DROP TYPE THZPY_LIST;CREATE OR REPLACE TYP....
分类:
其他好文 时间:
2014-11-06 14:35:12
阅读次数:
230
The Balance
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5750 Accepted Submission(s): 2337
Problem Description
Now you are asked ...
分类:
其他好文 时间:
2014-10-30 22:48:31
阅读次数:
247
Square Coins
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8487 Accepted Submission(s): 5774
Problem Description
People in Silverl...
分类:
其他好文 时间:
2014-10-30 17:10:42
阅读次数:
159
排列组合是数学中的一个分支,在计算机编程方面也有很多的应用,主要有排列公式和组合公式,错排公式、母函数、Catalan Number(卡特兰数)等。
一、有关组合数学的公式
1、排列公式 P(n,r)=n!/r!
2、组合公式 C(n,r)=n!/(r!*(n-r)!) C(n,r)=C(n-1,r)+C(n-1,r-1)
3、错排公式 d[1]=0; d[2]=1;...
分类:
其他好文 时间:
2014-10-28 13:54:37
阅读次数:
210
题目意思:
有一个序列a[17]=(1,4,9.....,i*i,17*17),对于给出的数字n,求出用给定的序列组合成n的个数。
http://acm.hdu.edu.cn/showproblem.php?pid=1398
题目分析:
该题可以用母函数模板或者DP
DP转化方程 if(dp[j]==1) dp[j+i*i]=1;//记录是否可以到达
...
分类:
其他好文 时间:
2014-10-27 10:51:43
阅读次数:
229
题目信息:求分解整数n的个数q(n);可以母函数或者DP
http://acm.hdu.edu.cn/showproblem.php?pid=1028
AC代码:
/******************************
题目大意:求分解整数n的个数q(n)
例:
5 = 5;
5 = 4 + 1;
5 = 3 + 1 + 1;
5 = 3 + 2;
5 ...
分类:
其他好文 时间:
2014-10-26 19:47:16
阅读次数:
139
找单词
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4146 Accepted Submission(s): 2971
Problem Description
假设有x1个字母A, x2个字母B,..... x2...
分类:
其他好文 时间:
2014-10-21 17:54:36
阅读次数:
172
题目大意:每个单词都有一个值,从A、B…到Z的值分别为1、2…到26
现在给你26个字母每个字母的个数,问:能找到多少个字母总价值<=50
的单词数。(单词排列顺序无关,ACM和CMA和AMC都视为同一个单词)
思路:很多人都是用母函数做的,这里说下动态规划的思想。
把A、B…到Z看做26种物品,每种物品的价值为1、2…到26,每种物品的
个数有num[i]个。现有一个容量为50的背包,问有多少种装法,能满足背
包中总价值<=50
过程:开个二维数组,一维26个表示字母种类,二维50个表示价值。最后
从1-...
分类:
其他好文 时间:
2014-10-20 11:47:56
阅读次数:
234