洛谷 P1064 金明的預算方案 有依賴的揹包問題

2021-10-02 13:37:34 字數 1213 閱讀 4946

洛谷 p1064 金明的預算方案 有依賴的揹包問題

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define max 100

#define inf 0x3f3f3f3f

typedef

long

long ll;

using namespace std;

int n,m;

//n表示物品個數,m表示擁有的總錢數

int w[max]

;//主件的價值

int v[max]

;//主件的花費

int fw[max][3

];//附件的價值

int fv[max][3

];//附加的花費

//fv[i][0]代表主件i有多少附件,fv[i][1]代表主件i的第乙個附件的花費,

//fv[i][2]代表主件i的第二個附件的花費

//fw[i][1]、fw[i][2]分別代表主件i的第乙個和第二個附件的價值

int dp[

35000];

intmain()

for(

int i=

0;ifor(

int i=

0;i) cin>>m>>n;

int w1,v1;

int number;

//代表附件的資訊,為0表示為主件,大於0表示屬於主件的編號

for(

int i=

1;i<=n;i++

)else

}for

(int i=

1;i<=n;i++

) dp[j]

=max

(dp[j]

,dp[j-v[i]

]+w[i]);

//選擇主件,不選擇附件

if(j>=v[i]

+fv[i][1

])if(j>=v[i]

+fv[i][2

])if(j>=v[i]

+fv[i][1

]+fv[i][2

])}}

cout<;return0;

}

洛谷 P1064 金明的預算方案

題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間金明自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早,金明就開始做預算了,他把想買的物品分為兩類 主件與附件,附件是從屬於某個主件的,下表就是一些主件...

洛谷 P1064 金明的預算方案

這是乙個揹包型別的問題,但是存在附件這個問題,因為要拿附件就一定要拿主件,而且附件最多只有2種,假設有2種附件,那麼這個物品就有三種狀態 第一種就是只拿主鍵,dp j max dp j dp j now i v now i v now i p 第二種就是那主鍵和第乙個附件 dp j max dp j...

洛谷 P1064 金明的預算方案

題目描述 金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間金明自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早,金明就開始做預算了,他把想買的物品分為兩類 主件與附件,附件是從屬於某個主件的,下表就是一些主件...