poj1948 二維揹包

2021-06-21 12:08:48 字數 589 閱讀 4590

攜程的第二場第二題,比賽時被水過去了。。。

題目給一些木棒,要求全部用上形成三條邊,問能形成的三角形最大面積是多少?

題意很明確,只需要確定所有能形成的邊的組合,再從這些組合中求最大值即可。

用二維陣列dp[i][t]表示邊長分別為i和t,兩邊確定,第三條邊邊長為sum-i-t,然後就是揹包確定能否形成i和t兩條邊的過程了。

很簡單的二維揹包,比賽時看出來是揹包,沒想到這點,以至於花了大把時間去水掉,還是做過的題目太少。

**:

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

int dp[801][801];

int a[41];

int n;

double sum;

bool sap(int a,int b,int c)

int s(int a,int b,int c)

int main()}}

int m=-1;

for (int i=0;i<=sum/2;i++)}}

printf("%d\n",m);

}}

FATE(二維揹包)

c fate time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status use mathjax to parse formulas description 最近xhd正在玩一款叫做fate的遊戲,為了...

二維揹包問題

步驟 1 建立目標域 即,多個揹包的可能性組合 2 判斷當前時刻的狀態值 例題 輸入 array m 5,n 3 輸出 4 解釋 總共 4 個字串可以通過 5 個 0 和 3 個 1 拼出,即 10 0001 1 0 解題思路 1.可用0和1的個數可以看成不同容量的揹包 二維 dp i j i 表示...

揹包衍化 二維01揹包

問題引入 有兩種物品 銷售,每種包裝裡兩種物品各有x,y x,yx,y個,售價為t tt元,共有s ss個 銷售的包裝。現在需要兩種物品n,m n,mn,m個,問如何購買可以滿足需要並且花費最少的錢 狀態轉移 設d i j d i j d i j 表示第 一 二種物品分別買了i,j i,ji,j個的...