zoukankan      html  css  js  c++  java
  • 母函数

    听了kuangbin的把杭电上的数学分类的题都先做一遍,遇到不会就去学习别人的博客上的讲解,没想到遇到的第二道题竟然是母函数

    那在这里就当是复习一下下了

    题意

    对一个整数进行拆分

    代码

    #include<iostream>
    using namespace std;
    #define M 101000
    int c1[M],c2[M];
    int main()
    {
     int n,i,j,k;
     while(cin>>n){
      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];
        c2[j]=0;
       }
      }
      cout<<c1[n]<<endl;
     }
     return 0;
    }

    其实母函数就是模拟多项式的展开一项一项的计算 

    核心代码其实就是三个for循环

    下面讲一下每一个循环的意思

     第一个for循环是有除掉第一个()还有多少个括号

    第二个for循环是枚举前面一个括号里的每一项(其实是不断更新的)

    第三个for循环每次想乘后一个括号的多项式

    数组的下标是多项式的指数,数组的值就是要求的组合种数

    (突然发现大一的时候学的东西是那么的简单)

  • 相关阅读:
    寒假学习进度7
    寒假学习进度3
    寒假学习进度6
    寒假学习进度5
    寒假学习进度8
    加分项
    每日博客
    每日博客
    每日博客
    每日博客
  • 原文地址:https://www.cnblogs.com/ACWQYYY/p/4485924.html
Copyright © 2011-2022 走看看