ACM_模板_指数型母函数

来源:互联网 发布:php 工作流 开源 编辑:程序博客网 时间:2024/05/15 06:17

普通型母函数主要是来求组合的方案数,而指数型母函数是求多重排列数。

这里小编引用百度百科上的对指数型母函数的讲解。

http://baike.baidu.com/link?url=061wn8F8bePtWezmn3YEo9mVTmLDTNH0G0W7J4AbXOYUB3O3nmSaglcDtUTgC14Is3YVGaGFkt1Tam8j4VjtvTslVVDWbpb9fjRn0qWhAizvOUDDfTQdN46Y87t3ZAeoBdLvjaRGrVnK8BEGfPLx-_

#include <stdio.h>//指数型母函数 int jcs[15];int main (){jcs[0]=1;    for(int i=1;i<=12;i++)    jcs[i]=jcs[i-1]*i;    double c1[15],c2[15];    int c[15];    int m,n,i,j,k;    while(scanf("%d%d",&n,&m)!=EOF)    {        for(i=1;i<=n;i++)        scanf("%d",&c[i]);        for(i=0;i<=n;i++)        {        c1[i]=c2[i]=0;        }c1[0]=1.0/jcs[0];for(i=1;i<=n;i++){   for(j=0;j<=m;j++)   for(k=0;k+j<=m&&k<=c[i];k++)   c2[k+j]+=c1[j]/jcs[k];   for(j=0;j<=m;j++)   c1[j]=c2[j],c2[j]=0;        } printf("%.0f\n",c1[m]*jcs[m]);    }    return 0;}


0 0
原创粉丝点击