SSLOJ1558 P2760科技莊園

2021-10-11 21:40:38 字數 1957 閱讀 2156

life是河北衡水中學的學生,他是乙個道德極高的學生,他積極貫徹黨的十七大精神,積極走可持續發展道路,在他的不屑努力下校領導終於決定讓他在衡中的一片閒雜地里種桃,以親身實踐種田的樂趣,厲行節約,告訴人們節約的重要性!

春華秋實,在這個金秋的季節,life帶者他的寵物——pft到了他的試驗田,當他看見自己的辛勤成果時,心裡是那個高興啊!

這時life對他的寵物pft說:「你想不想吃桃啊?」

pft興奮的說:「好啊!」

life說:「好吧,但是我只給你一定的時間,你必須在規定的時間之內回到我面前,否則你摘的桃都要歸我吃!」

pft思考了一會,最終答應了!

由於pft的數學不好!它並不知道怎樣才能在規定的時間獲得最大的價值,但你是乙個好心人,如果你幫助它,你的rp一定會暴漲的!

對於這個可以rp暴漲機會,你一定不會錯過的是不是?

由於pft不是機械人,所以他的體力並不是無限的,他不想摘很多的桃以至體力為0,而白白把桃給life。同時pft每次只能摘一棵桃樹,摘桃花費時間體力,每棵桃樹都可以摘k次(對於同一棵桃每次摘的桃數相同)。每次摘完後都要返回出發點(pft一次拿不了很多)即life的所在地(0,0)。

pft每秒只能移動乙個單位,每移動乙個單位耗費體力1(摘取不花費時間和體力,但只限上下左右移動)。

第一行:四個數為n,m,ti,a 分別表示試驗田的長和寬,life給pft的時間,和pft的體力。

下面乙個n行m列的矩陣桃田。表示每次每棵桃樹上能摘的桃數。

接下來n行m列的矩陣,表示每棵桃最多可以採摘的次數k。

乙個數:pft可以獲得的最大的桃個數。

4 4 13 20

10 0 0 0

0 0 10 0

0 0 10 0

0 0 0 0

1 0 0 0

0 0 2 0

0 0 4 0

0 0 0 0

【樣例解釋】

可以摘到1次(1,1)和1次(2,3),體力和時間不滿足再摘桃了。

把每乙個有桃子的地方看做k個體積為從(0,0)到(i,j)的距離,價值為桃子個數的物品,以時間和(體力-1)中更小的乙個(記為t)為揹包容量做多重揹包

設b[i]為使用i個容量的揹包最優價值

b [i

]=ma

x(b[

i],b

[i−w

[j]]

+v[i

])(做

k[i]

次)(1

<=i

<=物

品個數,

t>=j

>=w

[i])

b[i]=max(b[i],b[i-w[j]]+v[i])(做k[i]次)(1<=i<=物品個數,t>=j>=w[i])

b[i]=m

ax(b

[i],

b[i−

w[j]

]+v[

i])(

做k[i

]次)(

1<=i

<=物

品個數,

t>=j

>=w

[i])

code:

#include

#include

using

namespace std;

long

long b[

11111];

int v[

11001

],w[

11001

],o[

111]

[111][

2],c[11001

],p=1;

intmain()

}for

(int i=

1;i<=n;i++)}

for(

int i=

1;i<=p;i++

) cout<;return0;

}

P1558 色板遊戲

題目位址 思路 位運算,狀態壓縮,線段樹 分析思路 線段樹code include include define clean x memset x,0,sizeof x define ls rt 2 define rs rt 2 1 const int maxl 100005 maxk 30 uns...

洛谷 P1558 色板遊戲

阿寶上學了,今天老師拿來了一塊很長的塗色板。色板長度為l,l是乙個正整數,所以我們可以均勻地將它劃分成l塊1厘公尺長的小方格。並從左到右標記為1,2,l。現在色板上只有乙個顏色,老師告訴阿寶在色板上只能做兩件事 1.c a b c 指在a到 b 號方格中塗上顏色 c。2.p a b 指老師的提問 a...

洛谷P1558 色板遊戲

阿寶上學了,今天老師拿來了一塊很長的塗色板。色板長度為l,l是乙個正整數,所以我們可以均勻地將它劃分成l塊1厘公尺長的小方格。並從左到右標記為1,2,l。現在色板上只有乙個顏色,老師告訴阿寶在色板上只能做兩件事 1.c a b c 指在a到 b 號方格中塗上顏色 c。2.p a b 指老師的提問 a...