HDU 2082 找單詞(DP揹包做法)

2021-08-17 14:32:39 字數 545 閱讀 5817

本題母函式和dp都可以ac 下面我們來說說dp的思路

首先開乙個num陣列存放每個字母的個數 開乙個二維dp[i][j]陣列來存存放前i個字母可以組成價值為j的方法數(重點!!)

最後我們只需要把i==26時候的每一列加起來就是總的方法數

下面貼**

#include #include #include #include #include #include #include #include #include using namespace std;

int num[27],n,dp[27][51];

int main()

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

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

if(i==26) ans=ans+dp[i][j];

}cout<

}return 0;

}

HDU2082 找單詞(揹包)

題意 告訴你每個單詞的個數!然後價值 a是1.b是2 z是26 求出單詞相互組合後,總價值少於50的單詞有幾個 揹包 include include include include include include include include includeusing namespace std ...

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...