CD UVA 624(01揹包 記憶路徑)

2021-08-18 23:46:54 字數 560 閱讀 9456

題意: 乙個軌道長度為n的cd, k首歌, 每首歌的長度不同, 問這張cd上最多能燒錄多長的歌曲, 歌曲必須被整首燒錄;最後輸出cd上所刻的歌曲及總長度;

01揹包加上路徑記憶;

用二維陣列記錄路徑vis[i][j] 表示第i首在長度為j是被錄製;

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

const int inf = 0x3f3f3f3f;

int n, k, t[1100], dp[11000], vis[110][11000];

int main()

memset(dp, 0, sizeof(dp));

memset(vis, 0, sizeof(vis));

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

}}//由後向前遍歷;

for(int i=k, j=n; i>0; i--)

} printf("sum:%d\n", dp[n]);

} return 0;

}

UVA624 01揹包 路徑列印

題目的意思就就是給你乙個值,在給你幾個數字 用這些數字湊出最接近這個值的組合 簡單 揹包 路徑列印 路徑列印時可以根據 f i 1 j 的話,這個數就沒有被選擇 從後往前找 include includeconst int n 1000 const int m 25 int track m int ...

UVA 624 01揹包求方案

題目 題意 給定揹包容量,給定物品個數,然後是物品,價值和體積相等。求最大價值時的放入方案,多解輸出一解即可 思路 每次更新揹包時順便記錄被誰跟新的即可,然後逆向求方案,正向輸出 總結 揹包和dp忘得差不多了。憂傷。是時候刷一波了 include include include include us...

僅存的揹包的記憶

去年寫過不到六個揹包題,後悔自己沒有好好寫。後面大神一直aaa,壓力好大啊。大神說的我都不會。根據揹包九講上的講解,可以有以下的過程。不過這樣只能判斷是否存在是否存在 用第二種方法 動態規劃的思想 可以判斷裝滿的次數。include using namespace std const int max...