買裝備(特長生準備)

2021-08-01 06:21:50 字數 1034 閱讀 7565

n個物品,物品有物抗和魔抗還有價值,要求物抗和魔抗都到達規定值,然後價值最小。

n<21 物抗<21 魔抗<79 價值<800;

二維費用揹包,書上的例題

搜尋,對乙個物品只有選和不選兩種狀態,時間就是o

(2^21);

`var

i,j,n,m,x,y,k,min:longint;

a,b,w:array [1..1000] of longint;

procedure

dfs(dep,x1,y1,w1:longint);

var i,j:longint;

begin

if dep>n+1

then

exit;

if (x1>=x) and (y1>=y) then

begin

if min>w1 then min:=w1;

exit;

end;

dfs(dep+1,x1,y1,w1);

x1:=x1+a[dep];

y1:=y1+b[dep];

w1:=w1+w[dep];

dfs(dep+1,x1,y1,w1);

x1:=x1-a[dep];

y1:=y1-b[dep];

w1:=w1-w[dep];

end;

begin

assign(input,'equipment.in'); reset(input);

assign(output,'equipment.out'); rewrite(output);

readln(x,y);

readln(n);

min:=maxlongint;

for i:=1

to n do

readln(a[i],b[i],w[i]);

dfs(1,0,0,0);

writeln(min);

close(input); close(output);

end.

5 16特長生模擬題 買裝備

mxy沉迷於乙個辣雞遊戲不可自拔。為了加強角色的實力,mxy決定重新買一套裝備。已知現在有n件裝備,每件裝備會提供一定的物理抗性和魔法抗性,並需要一定的價錢。mxy想要保證至少有a的物抗和b的魔抗,請你計算出滿足條件所需的最少金額。裝備不可重複購買 二維費用的揹包問題 對於每件物品,具有兩種不同的費...

清兵線(準備特長生)

這題我覺得有必要多講講,題目是給了我們三個階段的分數,前四十分還是很好拿的,搜尋加點優化就好了,後面就要用到動態了。因為他說的事向左或向右殺,所以我可以認為他為了更加優化的答案就盡量的不要繞遠路,就是一路向西殺到底,或者殺到一半在回來殺右邊的。很幸運,我水到了60分,哈哈哈。講一下正解吧,首先我們要...

偵察兵(特長生準備)

給你乙個n n的矩陣,求 x,y 左上角和右下角的值得和。n 1000 有t個 x,y t 1000 不可以直接暴力,因為要列舉三個變數,就是n 3,一定會超時,然後就想到二維的字首和,在搞個字尾和。去乙個點相加就好了,時間o n 2 n const maxn 1000 var a,f,f1 arr...