動態規劃 0 1揹包選不選

2021-09-12 12:43:23 字數 859 閱讀 3821

1.給你n件物品,給你乙個包重量為m(問你正好裝**積為m? 有多少種選擇)

我這件物品要麼就是裝進來,要麼就是不裝進來,2^n種選擇

找到遞迴退出條件: ①揹包容量為0,則有唯一一種裝法

②0件物品則只有0件裝法

// poj 2755.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

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

int a[21];//最多有20件物品

int f(int w,int k)

int _tmain(int argc, _tchar* ar**)

printf("%d",f(40,n));

system("pause");

return 0;

}

#include #include using namespace std;

const int maxn = 110;

int a[maxn];

int dp[maxn][maxn];//dp[i][j] 從前j件物品中湊出體積為i

int main()

dp[0][0] = 1;

for(int i = 1;i<=w;i++)//重量為w

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

} //printf("%d\n",dp[w][m]);

for(int i = 0;i<=w;i++)

printf("\n"); }

return 0;

}

類似0 1揹包的dfs 選與不選

題目大意 思路 每個傳送陣可以選擇傳送或者不傳送。從n 1開始考慮。從終點最遠的傳送陣開始列舉 include using namespace std define ll long long struct node node 16 int cmp node a,node b ll t ll l,ll...

動態規劃 01揹包

最優二叉查詢樹.cpp 定義控制台應用程式的入口點。01揹包問題。include stdafx.h include include define n 3 the number of real node define m 10 using namespace std int tmain int arg...

01揹包動態規劃

0 1揹包 問題描述 乙個旅行者有乙個最多能用 m公斤的揹包,現在有 n件物品,它們的重量 分別是w1,w2 wn,它們的價值分別為 c1,c2,cn.若每種物品只有一 件求旅行者能獲得最大總價值。輸入格式 w 第一行 兩個整數,m 揹包容量,m 200 和n 物品數量,n 30 w第2.n 1 行...