母函数学习

前一阵子就要求学习母函数的了,可惜一直感觉它挺难的,最近状态真的很不错,不再迷茫,已经下定决心,全力以赴去搞ACM,学习算法,数据结构,

今天下午花了一两个小时看了lvsi的代码,并且用笔算了下,不用笔去算,我真的无法理解那神奇的代码,呜呼唉哉,和tanky woo的专题讲解,终于搞明白啦。。。

哈哈,至于详细讲解,我认为他们讲得挺好的。(关键是自己动手运算下)

http://www.wutianqi.com/?p=596

http://www.cnblogs.com/Lvsi/archive/2011/03/26/1996515.html

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int c1[10000],c2[10000];
void fun(int n)
{
 int i,j,k;
  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[j+k]+=c1[j];
      for(j=0;j<=n;j++)
      {
       c1[j]=c2[j];
       c2[j]=0;
      }
     }

}
int main( )
{
   int N;
   fun(125);
   while(scanf("%d",&N)!=EOF)
   printf("%d\n",c1[N]);
   return 0;
}
          

posted on 2011-04-21 17:40  more think, more gains  阅读(258)  评论(0编辑  收藏  举报

导航