首页 > 代码库 > HDU 2082 普通型母函数

HDU 2082 普通型母函数

技术分享

 

分析:

组成单词好说,价值如何体现?

改变指数就行,例如:

技术分享

 

 这样,组成的单词,指数就是权值,多项式相乘,指数小于50的就OK;

技术分享
 1 #include <bits/stdc++.h> 2  3 using namespace std; 4  5 int ch[30]; 6 int a[100]; 7 int b[100]; 8  9 10 int main()11 {12     int t;13     scanf("%d",&t);14     while(t--) {15         for(int i=1;i<=26;i++)16             scanf("%d",&ch[i]);17 18         memset(a,0,sizeof(a));19         memset(b,0,sizeof(b));20 21 22         b[0] = 1;23 24         for(int i=1;i<=26;i++) {    //26个多项式相乘25             26             for(int j=0;j<=50;j++) {    //前面50项加上新的多项式27 28                 for(int k=0;k<=ch[i]&&k*i+j<=50;k++) {29                     a[k*i+j] +=b[j];30                 }31             }32             memcpy(b,a,sizeof(a));33             memset(a,0,sizeof(a));34 35         }36         int cnt = 0;37         for(int i=1;i<=50;i++) {38             cnt+=b[i];39         }40         printf("%d\n",cnt);41 42     }43     return 0;44 }
View Code

 

HDU 2082 普通型母函数