母函数
菜鸟起航
这个作者很懒,什么都没留下…
展开
-
hdu 2189 悼念512汶川大地震遇难同胞——来生一起走
用母函数打表求出所有分组的组合数 #include #include int a[155],b[40],c1[155],c2[155]; int main() { int i,j,t,n,m,k; a[1]=1;a[2]=0; for(i=2;i<=150;i++) { if(a[i]==0) { f原创 2013-04-11 14:12:08 · 496 阅读 · 0 评论 -
hdu 2069 Coin Change
#include int c1[101][260],c2[101][260]; int main() { int n,i,j,k,a[5]={1,5,10,25,50},p; n=250; c1[0][0]=1; for(i=0;i<=4;i++) { for(j=0;j<=n;j++) f原创 2013-04-19 20:01:16 · 544 阅读 · 0 评论 -
hdu 1709 The Balance
#include #include #include int main() { int a[10005],b[10005],c[10005],i,j,k,n,max,mm; while(scanf("%d",&n)!=EOF) { max=0; for(i=0;i<n;i++) { scanf("%d",&c[i]);原创 2013-04-19 18:31:21 · 532 阅读 · 0 评论 -
hdu 2152 Fruit
#include #include int main() { int a[200],b[200],i,j,k,n,m,s[101],e[101]; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<n;i++) scanf("%d%d",&s[i],&e[i]); memset(a原创 2013-04-19 16:38:13 · 470 阅读 · 0 评论 -
hdu 1284 钱币兑换问题
#include int c1[32769],c2[32769]; int main() { int i,n,j,k,a[3]={1,2,3}; for(i=0;i<32769;i++) c1[i]=1; for(j=0;j<32769;j++) for(k=0;k+j<32769;k+=2) c2[j+k]+=c1[j]; for(j=0;j<32769;j++) {原创 2013-04-19 20:16:45 · 455 阅读 · 0 评论 -
hdu 1398 Square Coins
母函数水题 #include int c1[301],c2[301]; int main() { int t,n,m,i,j,s,k; while(scanf("%d",&n),n) { for(j=0;j<=n;j++) {c1[j]=1;c2[j]=0;} for(i=2;i<=n;i++)原创 2013-04-19 16:39:30 · 542 阅读 · 0 评论 -
hdu 1557 权利指数
母函数水过 #include #include #define lmax 10000 int c1[lmax+1],c2[lmax+1]; int main() { int n,i,j,k,t,a[25],sum,b; scanf("%d",&t); while(t--) { sum=0; scanf("%原创 2013-04-27 23:31:38 · 1193 阅读 · 0 评论 -
hdu 1028 Ignatius and the Princess III
整数拆分 母函数模板题 #include int c1[121],c2[121]; int main() { int t,n,m,i,j,s,k; while(scanf("%d",&n)!=EOF) { for(j=0;j<=n;j++) {c1[j]=1;c2[j]=0;}原创 2013-04-19 20:30:52 · 836 阅读 · 0 评论 -
hdu 1521 排列组合
指数型母函数 指数阶一般求解的问题:已知有n种颜色的球,第1种X1个,第2种X2个,第3种X3个。。。求从中取m个的方案数(组合数)。 公式中的ak/k!就是所求的组合数,ak为排列数。 只要把求系数的时候每个都相应的 除以i的阶乘即可 #include #include int main() { int i,j,k,m,n,a[20],c[11]; c[0]=1;原创 2013-04-19 18:16:53 · 570 阅读 · 0 评论 -
hdu 1085 Holding Bin-Laden Captive!
#include #include int main() { int i,j,n,k,m,c[4]={0,1,2,5},b[4]; int c1[8010],c2[8010]; while(scanf("%d%d%d",&b[1],&b[2],&b[3]),b[1]||b[2]||b[3]) { memset(c1,0,s原创 2013-04-19 20:25:16 · 500 阅读 · 0 评论