hdu 4293 Groups(動態規劃)

2021-06-18 15:01:37 字數 295 閱讀 7558

根據輸入可以將整個佇列劃分成不同的區間,最後去求在這個佇列中一共最多可以有多少個不相交的區間。

比如說對於第i個人,在其前方有x個人,在其後方有y個人,那麼我們可以得到乙個[x+1,y]的區間,用mark[x+1][y],記錄在這個區間上有多少人。需要注意的是,mark[x+1][y]的值不能大於n-x-y。

記錄之後,題目就轉變成在一條連續的線段上,存在著很多不同的區間,我們需要求出的是最多有多少個區間可以不相交的存在在這個線段上,這個值即為最後的結果。狀態轉移公式為:dp[i]=max(dp[j-1]+mark[j][i],dp[i])。

HDU 4293 Groups 拓撲排序

include include include include include define min a b a b a b define max a b a b a b using namespace std const int maxn 502 struct tt return l other....

hdu2159 動態規劃

problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...

hdu 1257 動態規劃

problem description 某國為了防禦敵國的飛彈襲擊,發展出一種飛彈攔截系統.但是這種飛彈攔截系統有乙個缺陷 雖然它的第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能超過前一發的高度.某天,雷達捕捉到敵國的飛彈來襲.由於該系統還在試用階段,所以只有一套系統,因此有可能不能攔截所有...