題意: 乙個軌道長度為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...