<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [題解]2025HDU春季聯合(五) - 小凱逛超市

      • Souces:1001 - 小凱逛超市
      • Abstract:有 \(n\) 種物品和一個容積為 \(m\) 的背包,每種物品有無限多個,對于第 \(i\) 種物品,其價格為 \(g_i\) ,體積 \(v_i\equiv 1\)。求在花費不超過 \(V\) 的情況下,恰好填滿背包的方案數。答案對 \(10^9+7\) 取模。
      • Limition:多測,\(1\le T\le 5,1\le n,m,V,g_i\le 400\)
      • Keyword:DP(簽到題)
      • Solution:完全背包求填滿方案數板子題。下面以閆氏DP分析法對DP狀態進行分析:
        • 狀態表示:定義狀態 \(dp[i][j][k]\) ,用于表示考慮前 \(i\) 個物品,背包容量恰好為 \(j\) ,且花費恰好為 \(k\) 的方案數,屬性為“Sum”。由于空背包也算作一種方案,故 \(dp[0][0][0]=1\)
        • 狀態計算:對于\(dp[i][j][k]\)
          • 不可選\(i\) 種物品:若背包容積不夠( \(j\le 0\) )或物品價格大于當前花費( \(g[i]>k\) )時,第 \(i\) 種物品不可選,此時直接轉移自第 \(i-1\) 個物品的狀態;
          • 可選第 \(i\) 種物品:若 \(j>0\)\(k\ge g_i\) ,則可選第 \(i\) 種物品,此時又分 \(2\) 種情形:
            • 選第 \(i\) 種物品:花費 \(1\) 個體積購買物品 \(i\),由于為完全背包問題,同一物品可購買多次,狀態轉移自第 \(i\) 種物品。
            • 不選第 \(i\) 種物品:若已達到約束要求,則第 \(i\) 種物品沒必要選,則直接轉移自第 \(i-1\) 個物品的狀態
        • 因此對于 \(dp[i][j][k]\) ,其滿足要求的狀態有選 \(i\) 和沒必要選 \(i\) 兩種,累加這兩種情況。最后遍歷所有 \(\le V\)的情形累加即可。
      • Equation:$$\begin{equation}dp[i][j][k]+=\begin{cases}dp[i-1][j][k],& 不選i(包含不可選與不必要選)\dp[i][j-1][k-g[i]],& 選i\end{cases}\end{equation}$$
      • Tip:本題內存限制262144 K,以三維數組剛好以261304 K極限通過。建議采用滾動數組方式壓維。
      • Code:
        #include<bits/stdc++.h>
        using namespace std;
        const int MOD = 1e9 + 7;
        
        void solve() {
            int n, m, V;
            cin >> n >> m >> V;
            vector<int> g(n+1);
            for (int i = 1; i <= n; i++) cin >> g[i];
            vector<vector<vector<int>>> dp(n+1, vector<vector<int>>(m+1, vector<int>(V+1, 0)));
            dp[0][0][0] = 1;
            for (int i = 1; i <= n; i++) {
                for (int j = 0; j <= m; j++) {
                    for (int k = 0; k <= V; k++) {
                        dp[i][j][k] = (dp[i][j][k] + dp[i-1][j][k]) % MOD;//注意求方案數問題是累加
                        if (j > 0 && k >= g[i]) {
                            dp[i][j][k] = (dp[i][j][k] + dp[i][j-1][k-g[i]]) % MOD;
                        }
                    }
                }
            }
            int ans = 0;
            for (int i = 0; i <= V; i++) {
                ans = (ans + dp[n][m][i]) % MOD;
            }
            cout << ans << endl;
        }
        
        int main() {
            ios::sync_with_stdio(0);
            int t;
            cin >> t;
            while (t--) {
                solve();
            }
            return 0;
        }
        
      posted @ 2025-04-05 19:57  椰蘿Yerosius  閱讀(16)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美偷国产日韩| 色欲国产精品一区成人精品| 国产麻花豆剧传媒精品mv在线 | 国产福利社区一区二区| 国产三级a三级三级| 人人妻人人做人人爽夜欢视频 | 日韩中文字幕人妻精品| 亚洲日韩av无码中文字幕美国| 亚洲色成人网站www永久下载| 日韩精品亚洲专区在线观看| 毛片无遮挡高清免费| 又爽又黄又无遮掩的免费视频| 亚洲成色在线综合网站| 久久久久久久久久久免费精品| 嫩江县| 色综合天天色综合久久网 | 日本中文字幕在线播放| 四虎影视一区二区精品| 久久96热人妻偷产精品| 国产最大成人亚洲精品| 91一区二区三区蜜桃臀| 亚洲国产精品黄在线观看| 天堂va亚洲va欧美va国产| 久久精品国产蜜臀av| 日韩人妻久久精品一区二区| 国产中文成人精品久久久| 文昌市| 国产在线98福利播放视频| 无码AV无码免费一区二区| 永和县| 亚洲av无码专区在线亚| 亚洲国产精品自在拍在线播放蜜臀| 精品少妇av蜜臀av| 亚洲线精品一区二区三八戒| 亚州AV无码乱码精品国产| 亚洲乱理伦片在线观看中字| 最新精品国产自偷在自线| 国产SM重味一区二区三区| 亚洲av日韩av一区久久| 日韩精品久久一区二区三| 国产网红主播精品一区|