hdu2082 簡單母函式

2022-05-23 18:24:10 字數 708 閱讀 2880

題目大意:

a,b,c,d...z這些字母的價值是1,2,3......26

給定 這26個字母分別的數量,求總價值不超過50的單詞的數量

分析:標準做法是構造母函式

把某個單詞看作是,關於x的多項式,在這個多項式中

形如 a*x^b 這樣的項就代表 價值為b的單詞有a個。。

做法:= =其實不知道母函式也完全可以做。。就是個很簡單的dp嘛。。

**:

#include #include 

#include

#include

#include

#include

using

namespace

std;

#define maxn 10000

int dp[30][60

];int a[30

];int

main()

memset(dp,

0,sizeof

(dp));

dp[0][0]=1

;

for(int i=1;i<=26;i++)}}

int ans=0

;

for(int i=1;i<=50;i++)

printf(

"%d\n

",ans);

}return0;

}

HDU 2082 找單詞 母函式

題目 題意 已知有26種數字 1,2,3,4.26 然後輸入26個數 m1,m2,m3,m26 分別代表每個數字的個數,求出總值不超過50的方案數。分析 由於每種數字各選多少個互不影響。對於數字1,有m1個,用多項式 1 x x 2 x 3 x m1 表示選數字1的總方案,1 x 0 表示不選,x ...

母函式 找單詞(hdu2082)

題目描述 假設有x1個字母a,x2個字母b,x26個字母z,同時假設字母a的價值為1,字母b的價值為2,字母z的價值為26。那麼,對於給定的字母,可以找到多少價值 50的單詞呢?單詞的價值就是組成乙個單詞的所有字母的價值之和,比如,單詞acm的價值是1 3 14 18,單詞hdu的價值是8 4 21...

Hdu 2082 找單詞 母函式

很明顯是一道dp,但是現在在學生成函式了就得用生成函式的思維去做題,每種字元可以取0 a i 個,那麼算式可以寫成 i 126 1 xi x2i xa i i prod limits 1 x x x i 1 26 1 xi x 2i x a i i x的次方就代表價值,係數表示情況數 於是可以暴力了...