POJ 1036 Gangster 動態規劃

2021-05-28 15:11:48 字數 531 閱讀 2254

題中,土匪分別有進入時間t,榮譽值p,狀態值s,只有當t 時刻,餐廳們的狀態和土匪的狀態值s一樣的時候才能夠得到榮譽值p,要求最大的榮譽值獲得。

這道題先看便覺得是動態規劃的題目,比賽的時候建了乙個t和s的動態陣列dp,結果出現wa。比賽完之後發現,做全體t和s的dp是非常耗時間和空間的,所以就改乙個演算法。先對土匪進入時間排序,之後,對每乙個土匪進行判斷,通過時間看是否可以經過上乙個土匪的時間開始,或者本身0開始,進行狀態轉換,從而得到該榮譽值,如果可以,就存下來,再用他去更新下乙個值,知道所有狀態更新完全,輸出最大值,即可。

#include#include#includeusing namespace std;

const int maxn =110;

struct gangster

}g[maxn];

int main()

printf("%d\n", ans);

return(0);

}

POJ 1088 滑雪 動規

滑雪 time limit 1000ms memory limit 65536k total submissions 75664 accepted 28044 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你...

POJ 1390(三維動規)

poj 1390,三維動規題目,按照大塊分類,參考部落格,重點 1.構造遞迴函式 2.通過三維陣列記憶化儲存 include include include using namespace std struct boxbox 205 int t,n,x,y,idx,dp 205 205 205 in...

POJ 1836(動規,上公升下降子串行問題)

poj 1836,動規問題,上公升下降子串行問題,和普通的上公升 下降子串行問題最大的不同 要考慮佇列中點乙個或兩個的情況 include using namespace std intmain left i 以i位元素結尾的最長上公升子串行 for int i 0 i for int j 0 j ...