母函数初识

标签: 算法
333人阅读 评论(0) 收藏 举报
分类:

母函数,一种用于解决拆分,组合问题的手段,实现了用简单的四则计算在计算机中模拟复杂的组合过程。



对于应用:5拆分成1,2,3,4的和的情况一共有多少种? 实现代码:

#include <iostream>
using namespace std;
int c1[100],c2[100];
int main()
{
    int i,j,k,n=5;
    for(i=0;i<=n;i++){
        c1[i]=1;
        c2[i]=0;
    }
    for(i=2;i<n;i++){
        for(j=0;j<=n;j++){
            for(k=0;k+j<=n;k+=i){
                c2[k+j]+=c1[j];//下标指指数,值是系数。加相当于乘,指数改变
            }
        }
        for(j=0;j<=n;j++){
            c1[j]=c2[j]; //更新c1,c2.-->A和研究的B改变了。
            c2[j]=0;
        }
    }
    //for(i=1;i<=n;i++)
    //cout<<c1[i]<<endl;
    cout<<c1[5]<<endl;
    return 0;
}
当规定1,2,3,4的可用个数是1时。母函数的形式作出相应的改变:G(x)=(1+x)(1+x^2)(1+x^3)(1+x^4)=1+x+x^2+2X^3+2X^4+2X^5+2X^6+2X^7+X^8+X^9+X^10, 可以看出,1,2 ,3,4可以组成和有: 1,2-----10,而x^5对应于2,所以有2种情况:1+4,2+3。

实现:

#include <iostream>
#include<algorithm>
using namespace std;
int c1[100],c2[100];
int main()
{
    int i,j,k,n=10;
    c1[0]=c1[1]=1;
    for(i=2;i<5;i++){
        for(j=0;j<=n;j++)c2[j]+=c1[j];
        for(j=0;j<=n;j++)c2[j+i]+=c1[j];
        for(j=0;j<=n;j++){
            c1[j]=c2[j];
            c2[j]=0;
        }
    }
    for(i=1;i<=n;i++)cout<<c1[i]<<endl;
    return 0;
}



查看评论

初识母函数

例1:若有1克、2 克、3克、4克的砝码各一 枚,能称出哪几种重量?各有几种可能方案?   如何解决这个问题呢?考虑构造母函数。 如果用x的指数表示称出的重量,则: 1个1克的砝...
  • fsqfang
  • fsqfang
  • 2014-08-04 15:02:29
  • 260

杭电acm课件2010版

  • 2010年10月12日 12:55
  • 8.91MB
  • 下载

母函数及应用.rar母函数及应用.rar

  • 2009年07月19日 10:02
  • 128KB
  • 下载

母函数详解和史上最通用最高效的母函数模板

本文详细介绍母函数以及母函数在ACM竞赛中的解题方法,同时给出史上最通用最高效的母函数模板,非常实用,并且易于理解。本文还给出了一系列的例题帮助读者理解。...
  • u012077163
  • u012077163
  • 2013-11-30 18:03:27
  • 9298

普通母函数的原理及实现

在用到母函数之前啊,恐怕很少有人听过母函数,我也一样,我当时是做杭电acm的2082题要用母函数做才去了解母函数的。当然母函数分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数,我...
  • bjrxyz
  • bjrxyz
  • 2012-10-29 12:57:57
  • 1140

矩母函数

矩母函数概念矩什么叫矩? 给出知乎上的一个回答矩的概念以及wiki上的数学定义。数学上,一个分布函数f(x)f(x)的nn阶矩定义为 μn=∫∞−∞(x−c)nf(x)dx\mu_n = \int...
  • u013795675
  • u013795675
  • 2015-11-07 11:45:58
  • 8896

母函数推导斐波那契数列通项公式

f(i)=f(i−1)+f(i−2)f(i)=f(i-1)+f(i-2) f(0)=0,f(1)=1f(0)=0,f(1)=1F(x)=f(0)+f(1)x+f(2)x2+f(3)x3+...F(x...
  • IcePrincess_1968
  • IcePrincess_1968
  • 2018-01-02 20:32:03
  • 235

算法回忆录:母函数解决整数拆分

省略了很多内容,所以需要一定基础才可阅读。主要为了说清母函数如何解决此问题。 整数拆分: 1、整数拆分可以理解为苹果放盘子问题(把N个苹果放在M个盘子里有多少种方法),只是这是相当于把N个苹果放在...
  • u013293644
  • u013293644
  • 2016-04-26 15:57:05
  • 748

(HDUACM2010版_08)母函数

  • 2011年10月12日 08:43
  • 493KB
  • 下载

母函数理解及整数拆分

母函数的定义以及整数拆分模板 母函数(Generating function)详解 分类: 母函数 2012-08-12 20:33 899人阅读 评论(0) 收藏 举报 ...
  • fsqfang
  • fsqfang
  • 2014-08-04 11:21:22
  • 717
    个人资料
    持之以恒
    等级:
    访问量: 37万+
    积分: 9440
    排名: 2419
    我的链接
    最新评论