塗奧最近迷上了吃雞,房間有n個配件,每個配件有c(c<=1e3)的重量和v(v<=1e3)的價值,哇,塗奧撿了乙個2級包,容量為s,所以塗奧最多當多肥的快遞員呢?
input
輸入的第一行是t, 表示有一共要打t場比賽.
每組資料由三行組成.
第1行包含兩個整數n和s 第2行包含n個整數, 表示每乙個配件的價值. 第3行包含n個整數, 表示每個配件的重量.
output
對每一組資料, 輸出塗奧可以多肥.
sample input
1sample output10 10
1 3 5 7 9 11 13 15 17 19
19 17 15 13 11 9 7 5 3 1
51優化之前:
#include
#include
#include
#include
#include
using namespace std;
const int maxn=1010;
int wi[maxn],ve[maxn],a,n,v,dp[maxn][maxn];
int main()
for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++)
}printf("%d\n",dp[n][v]);
}return 0;
}優化之後:
#include
#include
#include
#include
#include
using namespace std;
const int maxn=1010;
int wi[maxn],ve[maxn],a,n,v,dp[maxn][maxn];
int main()
for(int i=1;i<=n;i++)
for(int i=1;i<=n;i++)
}printf("%d\n",dp[v]);
}return 0;
}
01揹包及其優化
動態規劃是解決變成問題的一種重要思想,而揹包則是動態規劃的一種。揹包問題 給你乙個容量為v的揹包以及一些具有價值wi和體積vi的一些物品,要你求出揹包所能裝的最大價值。解決方法 定義乙個陣列f i v 用來統計各種情況下,揹包所能裝的最大價值,其中,i代表當前只提供前i個物品給你選擇,v表示當前只提...
Music Problem 01揹包優化
一道很不錯的題目,綜合了多個知識點。題意 給你n個數,判斷能否在這n個數中選一些數組成3600的倍數。先給這個題的一般形式。給你n個數,判斷能否在這n個數中選一些數組成m的倍數。1 n 1e6,2 m 1e3 然後我們可以發現乙個01揹包的解法 時間複雜度 o n m 狀態 dp i j 表示從1到...
01揹包之空間優化
前言 上篇suibi寫到了01揹包的二維陣列做法 不知道的戳這 可是空間太大了,如果出題人有意,那你就 怎麼辦呢?那咱們就用一維陣列來存吧。includeusing namespace std int bag,n,v 101 w 101 dp 1001 int main cout變數同上。同樣列舉每...