随笔分类 - 组合函数之母函数
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2065据说这是一个母函数指数型,可是我看了半天觉得还是没有感觉,觉得还是递推比较好,直接看代码可能不懂,但是推理过程太麻烦。。。就是从n-1个来确定第n个,这样一步一步找到规律代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>int main(){ __int64 n; int t; int a[23]={0,2,6,20,72,72,56,60,12,92,5
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2082一开始看题目很纠结,不知道如何入手,没想到母函数作用好广啊,排列组合方面也可以使用母函数解决,若有不清楚,请看母函数的解说,相信一看你就可以理解了,不过可以用母函数的一般都可以用背包,以下的是母函数的代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>int m[28],c1[100],c2[100];void mhs(){ c1[0]=1;//一个入口 f
阅读全文
摘要:voidmn(intn ){for(inti = 0; i <= n; ++i ){m1[i] = 1;m2[i] = 0;}for(inti = 2; i <= n; ++i )//难点{//总共有n个括号,从第2个起每一个括号都要和前面那一个括号相乘//所以可以忽略第一个括号for(intj = 0; j <= n; ++j )//j代表最前面这个大括号的项数for(intk = 0; k + j <= n; k += i )//在大括号后面,x都是以i方递增的m2[j + k] += m1[j];//这里就是大括号后面的括号与前面相乘的计算for(intj = 0
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2069这道题一看就是母函数,于是就觉得它很简单,出现了错误的代码:#include<stdio.h>int main(){ int n; int i,j,k; int a[1000],b[1000],num[6]={0,1,5,10,25,50}; while(scanf("%d",&n)!=EOF) { for(i=0;i<=n;i++) { a[i]=1; b[i]=0; } for(i=2;i<=5;i++) { for(j=0;j<=n;j++
阅读全文

浙公网安备 33010602011771号