• 母函数模板


    这好像第三次巩固母函数了,第一次没理解思想,第二次理解了,但不知变通,这次总算是弄得挺清楚了。这里写一个模板吧!以及个人对母函数的理解

    下面以整数划分数的数量为例写的一个模板。

    
    
    #include<stdio.h>
    #include<string.h>
    int c1max],c2[max];
    //c1保存整数课划分的数目
    //c2是中间量,保存每一次的情况
    int main() { int n,i,j,k; while(scanf("%d",&n)!=EOF) { for(i=0;i<=n;i++)//首先对c1初始化,由第一个表达式(1+x+x^2+..x^n)初始化,把质量从0到n的所有砝码都初始化为1. c1[i]=1;
    memset(c2,0,sizeof(c2));//最好对c2的赋值为0,如果没有这一步,可能在一些题目中会出错
    for(i=2;i<=n;i++)// i从2到n遍历,这里i就是指第i个表达式,上面给出的第二种母函数关系式里,每一个括号括起来的就是一个表达式。 { for(j=0;j<=n;j++)//j 从0到n遍历,这里j就是(前面i個表达式累乘的表达式)里第j个变量,如(1+x)(1+x^2)(1+x^3),j先指示的是1和x的指数,i=2执行 //完之后变为(1+x+x^2+x^3)(1+x^3),这时候j应该指示的是合并后的第一个括号的四个变量的指数。 for(k=0;k+j<=n;k+=i)//k指的是与那个表达式相乘的的那个表达式的指数。 c2[k+j]+=c1[j];//将指数相同的系数合并。 for(j=0;j<=n;j++) { c1[j]=c2[j]; c2[j]=0; } } printf("%d ",c1[n]); } return 0; }
  • 相关阅读:
    第十五周作业
    第十四周作业
    第十三周
    第十二周作业
    第二次考试
    太强了,大佬开源的算法小抄彻底火了
    npm--npm 全局安装路径的修改和环境变量的配置
    239
    238
    学术类论文查看--AMiner
  • 原文地址:https://www.cnblogs.com/duan-to-success/p/3475103.html
Copyright © 2020-2023  润新知