zoukankan      html  css  js  c++  java
  • hdu 1028 Ignatius and the Princess III

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028

    题目大意:3=1+1+1=1+2=3 ;4=4=1+1+1+1=1+2+1=1+3;所以3有3种加法,4有4种加法,给出一个n,(1<=n<=120) ,计算n有几种加法。

    解法:母函数的最简单的一道入门题之一。

    说明:今早上突发奇想着想学学母函数,就搜了搜HDU ACM PPT 的母函数一版,把这道题分享给大家。

    感想:这道题之前看过,推过公式什么的,没推出来。今天才知道是母函数的算法。算法果然奇妙啊,我得加紧学习算法了。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 #include<cstring>
     5 #include<cmath>
     6 #include<algorithm>
     7 #define inf 0x7fffffff
     8 using namespace std;
     9 int main()
    10 {
    11     int an[222],bn[222];
    12     int n;
    13     while (cin>>n)
    14     {
    15         for (int i=0 ;i<=n ;i++) {an[i]=1 ;bn[i]=0 ; }
    16         //模拟多项式乘法
    17         for (int i=2 ;i<=n ;i++) // 从第二个多项式开始枚举
    18         {
    19             for (int j=0 ;j<=n ;j++)//枚举第一个多项式的系数
    20             {
    21                 for (int k=0 ;k+j<=n ;k+=i) //枚举第i个多项式各项系数
    22                 {
    23                     bn[j+k] += an[j];
    24                 }
    25             }
    26             for (int j=0 ;j<=n ;j++)
    27             {
    28                 an[j]=bn[j];
    29                 bn[j]=0;
    30             }
    31         }
    32         printf("%d
    ",an[n]);
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    使用rem,动态设置root font size
    手机陀螺仪
    获取图片
    插件整理
    jquery图片懒加载
    关于underscore.js
    PCA
    Endnote9
    实验问题记录
    DN/TOA/SR
  • 原文地址:https://www.cnblogs.com/huangxf/p/3617150.html
Copyright © 2011-2022 走看看