洛谷 P2374 搬運工

2022-08-01 10:57:13 字數 1007 閱讀 5252

陳老師桌上的書有三堆,每一堆都有厚厚的一疊,你想逗一下陳老師,於是你設計乙個最累的方式給他,讓他把書拿下來給同學們。若告訴你這三堆分別有i,j,k本書,以及每堆從下到上書的質量,每次取書只能從任一堆的最上面取,顯然,每次取書陳老師的體力消耗都會加大,這裡用體力係數代表,取下第一本書時,體力係數為1,第二本書時體力係數為2,依次類推,而每次體力消耗值則為體力係數與書的重量之積。書最多有100本。

第一行3個整數,分別為三堆書的數量i,j,k;第二行至第四行分別為每堆由下至上的書本重量。

一行,輸出最累方式的體力消耗總值

3 2 4

2 3 2

1 5

9 8 7 4

257

剛開始想的是貪心,每次取三堆中最小的,但是後面被卡住了,發現不行,然後就用熟悉的記憶化搜尋啦(不想用dp,好吧,是還沒學),

1 #include2

using

namespace

std;

3int

n1,n2,n3;

4int a1[101];5

int a2[101];6

int a3[101];7

int dp[101][101][101];8

int dfs(int x,int y,intz)9

//類似於狀態轉移方程

15int

main()

1622

for(int i=n2;i>=1;i--)

2326

for(int i=n3;i>=1;i--)

2730 dp[1][0][0]=a1[1];//

初始化取每一堆的第一本

31 dp[0][1][0]=a2[1

];32 dp[0][0][1]=a3[1

];33 cout<34return0;

35 }

洛谷 P2374 搬運工

陳老師喜歡網購書籍,經常一次購它個百八十本,然後拿來倒賣牟取暴利。ps 描述要看懂 前些天,高一的新同學來了,他便像往常一樣兜售他的書,經過一番口舌,同學們決定買他的書,但是陳老師桌上的書有三堆,每一堆都有厚厚的一疊,他要想個辦法用最輕鬆的方式把書拿下來給同學們。但是你想逗一下陳老師,於是你設計乙個...

洛谷P5049 洛谷P5022 題解 旅行

原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...

洛谷練習P2279 P1346

2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...