題意:告訴你每個單詞的個數!
然後價值:a是1.b是2……z是26
求出單詞相互組合後,總價值少於50的單詞有幾個
揹包
#include#include#include#include#include#include#include#include#includeusing namespace std;
int a[30];
int dp[30][51];
int main()
}} int ans = 0;
for (i = 1; i <= 50; i++)
ans += dp[26][i];//加上從1到50個價值的所有可能,所以第一維是26,每乙個字母都要考慮進去
printf("%d\n", ans);
}// printf(".6lf\n",(double)clock()/clocks_per_sec);
return 0;
}
HDU 2082 找單詞(DP揹包做法)
本題母函式和dp都可以ac 下面我們來說說dp的思路 首先開乙個num陣列存放每個字母的個數 開乙個二維dp i j 陣列來存存放前i個字母可以組成價值為j的方法數 重點 最後我們只需要把i 26時候的每一列加起來就是總的方法數 下面貼 include include include include...
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...