hdu1028母函数模板(多项式)

 数组:
c1存"第一个"括号里 项系数
c2存"前两个"括号里 项系数。
后面每个括号里项系数均为1,
前面的..系数可能不为1,因为一直在更新

#include<bits/stdc++.h>
using namespace std ;
const int maxn=125;
int n,c1[maxn],c2[maxn];
int main(){
	while(cin>>n){
		for(int i=0;i<=n;i++){
			c1[i]=0;c2[i]=0;
		}
		for(int i=0;i<=n;i++){
			c1[i]=1;
		}
		for(int i=2;i<=n;i++){
			for(int j=0;j<=n;j++)
				for(int k=0;k+j<=n;k+=i){
					c2[k+j]+=c1[j];
				}
			for(int j=0;j<=n;j++){
				c1[j]=c2[j];
				c2[j]=0;
			}	
		}
		cout<<c1[n]<<endl;
	}
}

上一篇:【Java】注解与反射(三)——创建运行时类的对象


下一篇:java 获取十个工作日之前或之后的日期(算当天)