1樓:
金明的預算方案
如果看過普及組試卷就會發現,對應的第二個題目,也是一個樣的背景,提高組只是多了個「主件附件」的的關係,如果去掉這一點,就全沒區別了。也就成了經典的揹包問題了。也就是多了這麼一點,考試的時候就暈了。
不知道怎麼做了。後來才發現是個很簡單的dp題目。可惜我當時沒做出來。
草率的審題,可能會得到這樣的演算法:dp,對每一個物品做兩種決策,取與不取。如果取,滿足兩個條件:
1.要麼它是主件,要麼它所屬的主件已經在包裡了。2.
放進去後的重要度與**的成績的總和要比沒放進時的大。這兩個條件缺一不可的。於是呼,得到如下的動規方程:
f[i,j]:=f[i-1,j];
if (i為主件or i的附件在包中)and (f[i,j]0
then begin
with w[g[qx]] do
begin
u:=u+1;
v:=vx; p:=px;
end;
end;
for i:=1 to k do
with w do
begin
for j:=0 to 2 do write('(',v[j],',',p[j],') ');
writeln;
end;
end;
procedure doit;
vari,j:integer;
begin
fillchar(f,sizeof(f),0);
for i:=1 to k do
with w do
begin
for j:=1 to n do
begin
f[i,j]:=f[i-1,j];
if (j>=v[0]) and (f[i,j]=v[0]+v[1]) and (f[i,j]=v[0]+v[2]) and (f[i,j]=v[0]+v[1]+v[2]) and (f[i,j] then f[i,j]:=f[i-1,j-v[0]-v[1]-v[2]]+v[0]*p[0]+v[1]*p[1]+v[2]*p[2]; end; end; end; procedure print; begin writeln(f[k,n]); end; begin init; doit; print; end. 2樓: 我說提高組的吧:「由於最多隻有兩個附件,所以把每一個主件拆為主件、主件+附件1、主件+附件2、主件+附件1+附件2 這三個物品進行揹包,就可以了。 」這句話應該是錯的。 因為照上述演算法,我揹包時選了主件a,有可能下次又選了主件a+附件1。這樣主件a就被選了兩遍。不符合題意。 應該把一個主件和其附件按上述方法分成一個組k,k包含4個元素:主件、主件+附件1、主件+附件2、主件+附件1+附件2。 下面進行dp for 所有的組k for 所有的i屬於組k for v=0到最大的揹包限制 f[v]=max 更多的揹包類動歸。你可以看dd牛的揹包九講。 這裡有一個 這個題比較難,此類問題屬於第七講。 3樓:喜揚揚 noip2006普及組的還是提高的? 普及的很簡單的揹包 提高的麼 由於最多隻有兩個附件,所以把每一個主件拆為主件、主件+附件1、主件+附件2、主件+附件1+附件2 這三個物品進行揹包,就可以了。 4樓:匿名使用者 揹包問題 由於最多隻有兩個附件,所以把每一個主件拆為主件、主件+附件1、主件+附件2、主件+附件1+附件2 這三個物品進行揹包,就可以了。 50平方裝修預算大概多少 小戶型房屋裝修 全包 也需要有裝修標準。如果要高擋點精裝修,需要 1600 1700 平方裝修。如果是大眾化裝修,需要用 1100 1200元 平方,屬一般精裝修。如果想一般化裝修,可以投入 750 850元 平方,屬普通裝修了。如果按500 550元 平方裝修,就是屬簡單... 現在的很多人都被三方協議所困惑,其實沒必要。三方協議不屬於勞動法的範疇,不歸勞動合同法管轄,其中約定的違約金和押金應當認定為有效,只要不違反國家強制性規定。考取研究生屬於升學的範圍,而且根據你上上述所說,如果你考取研究生,三方協議就失效,則對方應退回你的押金。如果銀行單獨跟你籤協議,則屬於勞動合同的... 家裡裝修60平方 預算大概要多少 房屋裝修 全包 按裝修標準的 是 如果要高擋點精裝修,需要用 1600 1700 平方裝修 如果是大眾化裝修,需要 1100 1200元 平方,屬一般精裝修 如果想一般化裝修,用 800 900元 平方,屬普通裝修 如果按 500 600元 平方裝修,就屬簡單裝修了...50平方裝修預算大概多少,50平米裝修預算大概是多少
三方協議違約金問題,關於三方協議違約金的問題!!!
家裡要裝修,60平方,預算大概要多少啊