普通母函数模板—hdu1028

简介: 母函数用来处理排列的可能性的方法数问题。这篇记录母函数的模板以便以后忘记回顾。
  • 母函数用来处理排列的可能性的方法数问题。这篇记录母函数的模板以便以后忘记回顾。


题目链接

题目大意:

给一个数n,求n的所有划分方式,也是整数划分的种类,在意组合,不在意排列。可以用普通型母函数求解。


  • 母函数模板的构造板子还是很有规律。一般构造两个数组c1[],c2[],c1初始化为1,c2为0;然后从i=2到i=n中循环完成一些多项式乘法的操作即可。


  • ac代码如下


import java.util.Scanner;
public class hdu1028 {
  public static void main(String[] args) {
    // TODO 自动生成的方法存根
    Scanner sc=new Scanner(System.in);
    int c1[]=new int[300];
    int c2[]=new int[300];
    for(int i=0;i<300;i )
    {
      c1[i]=1;
    }
    for(int i=2;i<=120;i )
    {
      for(int j=0;j<=120;j )
      {
        for(int k=0;k j<=120;k =i)
        {
          c2[k j] =c1[j];
        }
      }
      for(int j=0;j<=120;j )
      {
        c1[j]=c2[j];
        c2[j]=0;
      }
    }
    while(sc.hasNext())
    {
      int n=sc.nextInt();
      System.out.println(c1[n]);
    }
  }
}


目录
相关文章
|
7月前
|
C语言
c语言经典例题讲解(输出菱形,喝汽水问题)
c语言经典例题讲解(输出菱形,喝汽水问题)
94 0
|
7月前
|
机器学习/深度学习
PTA-打印九九口诀表
该程序生成1到N的下三角九九乘法表。输入一个1到9的正整数N,输出1*1到N*N的乘法表达式,等号右侧数字左对齐且占4位。示例输入4,输出1*1=1至4*4=16的口诀表。代码通过输入n值,使用两层循环结构实现乘法规则的打印。
117 0
|
7月前
|
搜索推荐 C++
[C++/PTA] 有序数组(类模板)
[C++/PTA] 有序数组(类模板)
56 0
|
7月前
|
C++
[C++/PTA] 数据的间距问题(重载+函数模板)
[C++/PTA] 数据的间距问题(重载+函数模板)
62 0
|
算法 Java C++
【洛谷算法题】B2025-输出字符菱形【入门1顺序结构】
【洛谷算法题】B2025-输出字符菱形【入门1顺序结构】
|
编译器 C++
开心档之C++ 重载运算符和重载函数
【摘要】 C++ 重载运算符和重载函数C++ 允许在同一作用域中的某个函数 和运算符 指定多个定义,分别称为函数重载 和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数 或重载运算符 时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过...
卡特兰数—以leetcode22括号生成为例(笔记)
卡特兰数—以leetcode22括号生成为例(笔记)
|
编译器 C语言 C++
C++修炼之练气期第二层——缺省参数
C++修炼之练气期第二层——缺省参数
113 0
|
项目管理
求组合数(模板)【组合数学】
求组合数(模板)【组合数学】
144 0
求组合数(模板)【组合数学】
|
算法 索引
杨辉三角Ⅱ
杨辉三角Ⅱ