洛谷p1064 金明的預算方案
題意:
每件物品都有一定的滿意度,而且物品分主件附件,要買附件就必須要買主件,但是買主件不一定要買附件(乙個主件最多有兩個附件,也可能沒有喔)
設第j件物品的**為v[j],重要度為w[j],共選中了k件物品,編號依次為j1,j2,……,jk,則所求的總和為:
v[j1]w[j1]+v[j2]*w[j2]+ …+v[jk]*w[jk]。(其中為乘號)
不超過n元(可以等於n元)的前提下,使每件物品的**與重要度的乘積的總和最大。
怎麼看著有點像樹形dp…
但是我們如果不區分主件附件
就是…
揹包?
好吧就是一維四狀態的揹包
**:
#include
#include
using
namespace
std;
int f[32010],v[70],q[70],p[70],v1[70],q1[70],v2[70],q2[70];
int mymax(int x,int y)
int main()
else
else
//存為附件一或附件二
}}
for (int i=1;i<=m;i++)}}
int ans=0;
for (int j=1;j<=n;j++)
printf("%d\n",ans);
return
0;}
洛谷P1064 金明的預算方案 動態規劃
金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間金明自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早,金明就開始做預算了,他把想買的物品分為兩類 主件與附件,附件是從屬於某個主件的,下表就是一些主件與附件的例...
洛谷 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...