洛谷P1622 釋放囚犯

2022-05-02 12:51:10 字數 1108 閱讀 5389

caima王國中有乙個奇怪的監獄,這個監獄一共有p個牢房,這些牢房一字排開,第i個緊挨著第i+1個(最後乙個除外)。現在正好牢房是滿的。

上級下發了乙個釋放名單,要求每天釋放名單上的乙個人。這可把看守們嚇得不輕,因為看守們知道,現在牢房中的p個人,可以相互之間傳話。如果某個人離開了,那麼原來和這個人能說上話的人,都會很氣憤,導致他們那天會一直大吼大叫,搞得看守很頭疼。如果給這些要發火的人吃上肉,他們就會安靜點。

輸入格式:

第一行兩個數p和q,q表示釋放名單上的人數;

第二行q個數,表示要釋放哪些人。

【資料規模】

對於100%的資料1≤p≤1000; 1≤q≤100;q≤p;且50%的資料 1≤p≤100;1≤q≤5

輸出格式:

僅一行,表示最少要給多少人次送肉吃。

輸入樣例#1: 複製

20 3

3 6 14

輸出樣例#1: 複製

35

【樣例說明】

先釋放14號監獄中的罪犯,要給1到13號監獄和15到20號監獄中的19人送肉吃;再釋放6號監獄中的罪犯,要給1到5號監獄和7到13號監獄中的12人送肉吃;最後釋放3號監獄中的罪犯,要給1到2號監獄和4到5號監獄中的4人送肉吃。

區間dp

dp[i][j]表示處理i,j這段區間內犯人的最小花費

轉移的時候列舉一下斷點

#include#include

#include

#include

#include

using

namespace

std;

const

int maxn=1e3+10

;const

int inf=0x7ffff

;inline

char

nc()

inline

intread()

while(c>='

0'&&c<='9')

return x*f;

}int

a[maxn],dp[maxn][maxn];

int dp(int l,int

r)int

main()

洛谷 1622 釋放囚犯

caima王國中有乙個奇怪的監獄,這個監獄一共有p個牢房,這些牢房一字排開,第i個緊挨著第i 1個 最後乙個除外 現在正好牢房是滿的。上級下發了乙個釋放名單,要求每天釋放名單上的乙個人。這可把看守們嚇得不輕,因為看守們知道,現在牢房中的p個人,可以相互之間傳話。如果某個人離開了,那麼原來和這個人能說...

洛谷P5049 洛谷P5022 題解 旅行

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

洛谷練習P2279 P1346

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