3個區間DP總結

2021-09-25 22:35:56 字數 1201 閱讀 7116

#include#include#include#include#include#include#include#include//自動從小到大排序,且沒有重複 

using namespace std;

const int maxn = 100 + 5;

const int inf = 1e9;

int n;

int a[maxn];

int sum[maxn]; //記錄字首和,方便算得分

int dp[maxn][maxn];

/* 區間dp

對比題j

*/int main()

fill(dp[0], dp[0]+maxn*maxn, inf);

sum[0] = 0;

for(int i=1; i<=n; i++)

//從小到大列舉區間長度

//區間[1, n]

int end;

for(int len=1; len=1,所以i最多會被列舉到 n-1

end = s+len; //結束下標 end = s+len

for(int k=s; k<=end-1; k++)

}}

cout << dp[1][n] << endl; }

return 0;

}

#include#include#include#include#include#include#include#include//自動從小到大排序,且沒有重複 

using namespace std;

const int maxn = 100 + 5;

const int inf = 1e9;

/* 區間dp,可轉化為矩陣鏈乘

對比題i */

int n;

int a[maxn];

int dp[maxn][maxn];

int main()

}for(int i=0; ifor(int i=0; i//區間[0, n-1]

int end;

for(int len=2; len}

}cout << dp[0][n-1] << endl;

return 0;

}

區間dp總結

持續更新 1.p1005 矩陣取數 解題思路 按行區間dpvoid print int128 x 部分 include include include using namespace std int128 map 85 85 f 85 85 int128 ans 0 按行區間dp int128 p ...

區間DP總結

做了幾題區間動態規劃的題目,覺得區間動態規劃的題目是有點難的。區間dp大概是這一類的動態規劃,在乙個線性的資料上對區間進行狀態轉移,dp i j 表示i到j的區間。dp i j 可以由子區間的狀態轉移而來,關鍵是dp i j 表示的是什麼,然後去找dp i j 和子區間的關係。要知道,在求dp i ...

區間DP總結(一)

noip2000提高 乘積最大 需要用到高精度,目前還不會。noip2006提高組 能量項鍊 noi1995 石子合併 經典區間dp poj1141 brackets sequence 括號匹配 值得細看的部落格 動態規劃之區間dp專題 1 石子合併題目 區間dp模板。include define ...