區間DP的摸索

2022-05-02 12:09:07 字數 1671 閱讀 3936

(poj真的炸了,以下**可能有誤)

按照下面這個做題順序,對區間dp不再那麼迷了

loj1422 

是 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k][j])而不是dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k+1][j]+dp[k][k]);

因為ai==ak的時候k不是等著i來匹配,而是先用ak-aj之間的匹配結果來和ai匹配,防止之間有am==ak

poj2955

poj**了嗎?

poj3280  

不用變數k(密碼脫落

)poj1141 

不會記錄路

poj1651 

easy

poj3661

主要是休息的時候,要一次性休息完

light oj1422

#include#include

#include

#include

#include

#include

#include

using

namespace

std;

int dp[110][110],a[110

];int

main()

}printf(

"case %d: %d\n

",++case,dp[1

][n]);

}return0;

}

poj1651

#include

#include

#include

#include

#include

#include

using

namespace

std;

int dp[110][110],a[110

];int

main()

}printf(

"%d\n

",dp[1

][n]);

}return0;

}

poj2955

#include

#include

#include

#include

#include

using

namespace

std;

int _max(int x,int

y)int dp[110][110

];char a[110

];int

main()

}printf(

"%d\n

",dp[1

][n]);

}return0;

}

poj3661

#include

#include

#include

#include

using

namespace

std;

int dp[10010][510

];int n,m,a[10010

];int

main()

printf(

"%d\n

",dp[n][0

]); }

return0;

}

線性dp 區間dp

1 尼克的任務 額一道挺水的題,愣是做了幾個小時 動態規劃大致的思路還是找乙個轉移 換個詞就是影響 我們可以明顯看出本題的規則 空暇時,一遇到任務必須挑乙個接 求1 n時間內最大空暇時間 所以將任務排序是必要的,兩個關鍵字 再來想象一下當我做到第i 個任務時,我在 st i st i t i 1 時...

簡單的區間 dp

今天我們來一起研究一下比較奇怪的區間dp 先看一道例題 石子合併 很老的題了 1960 石子合併 time limit 1 sec memory limit 128 mb submit 191 solved 78 submit status web board description 在乙個圓形操場...

區間dp的感悟

學區間dp似乎也很久了.對區間dp的通用模型都了解了一些 但是做題還是很坑 上了一點難度的題基本想不出什麼思路.目前的做題方式就是看題 想一會發現自己不會做 看題解 好巧妙啊 理解後寫一發.還是準備記載一下自己對區間dp的一點感悟 區間dp很多列舉區間長度的做法 一般是n 3 好像資料範圍都不會太大...