洛谷 P2029 跳舞

2021-08-09 20:43:16 字數 1095 閱讀 7359

洛谷 p2029 跳舞

小明今天得到乙個跳舞毯遊戲程式dance。遊戲每次連續出n個移動的「箭頭」,箭頭依次標號為1到n,並且的相應的分數s[1..n]。如果你能「踏中」第i號箭頭,你將獲得相應的分數s[i];否則將被扣除相應的分數。

另外,遊戲還有乙個累計獎勵機制:如果踏準次數累計達到t,並且是在踏中第i個箭頭達到的,則將得到b[i]的獎勵分數,累計也將清零,重新開始。

例如:n=6,t=3,相應的s和b分別為、,如果小明踏中所有箭頭,則得分為:(1+2+3+4)+(4+5+6+10)=35

小明是個dance高手,可以踏中他想踏中的任意乙個箭頭。但他發現,根據給定的n,t,s,b,踏中所有的箭頭不一定能得最高分,小明很想知道最高能得多少分,你能幫助小明計算一下最多可得多少分嗎?

輸入格式:

第一行兩個整數n和t。

第二行n個整數,為s的相應分數。

第三行也有n個整數,為b的相應分數。

輸出格式:

乙個整數,可得到的最高分數。

輸入樣例#1:複製

6 3

1 2 3 4 5 6

1 1 1 20 1 1

輸出樣例#1:複製

39

【樣例解釋】

跳過第乙個,扣1分,連踩3個,得9分,並獲得附加分20分,之後再連踩2個,共39分。

【資料範圍】

對於20%的資料0≤n,t≤100;

對於100%的資料0≤n,t≤5000;

s和b各有n個數,所有分數為[0,10000]之間的整數。

一開始看錯題了。。以為要連續踩中t個才算數。。然後亂寫了一堆方程。。

正解:f[i][j]表示到第i個,一共踩中j個的分數,然後分一下類:j%t是否等於0。

f[i][j]=max(f[i-1][j-1]+s[i],f[i-1][j]-s[i])    (j%t≠0)

f[i][j]=max(f[i-1][j-1]+s[i]+b[i],f[i-1][j]-s[i])   (j%t=0)

其實比較簡單,目測普及組第3題?(劃掉)

**

洛谷P2029跳舞

題目 dp,用的 dp i j 表示 i 之前的數選了 j 個得到的最大結果,然後狀態轉移方程應該是 if j t 0 dp i j max dp i j max dp i 1 j s i dp i 1 j 1 s i b i else dp i j max dp i j max dp i 1 j ...

洛谷P2029 跳舞

小明今天得到乙個跳舞毯遊戲程式dance。遊戲每次連續出n個移動的 箭頭 箭頭依次標號為1到n,並且的相應的分數s 1.n 如果你能 踏中 第i號箭頭,你將獲得相應的分數s i 否則將被扣除相應的分數。另外,遊戲還有乙個累計獎勵機制 如果踏準次數累計達到t,並且是在踏中第i個箭頭達到的,則將得到b ...

洛谷P5049 洛谷P5022 題解 旅行

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