POJ 3280 簡單區間 DP

2021-06-21 03:33:24 字數 861 閱讀 9575

就是想的時候不要想漏了轉移方式。

對於乙個回文串 去掉最左和最右兩個後依然是回文串,好了。。。dp 

轉移有三種,一種是從 dp[i+1][j] 轉移過來,一種是從 dp[i][j-1] 轉移過來,一種是從 dp[i-1][j-1] 轉移過來

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#define read freopen("acm.in","r",stdin)

#define write freopen("acm.out","w",stdout)

#define ll long long

#define ull unsigned long long

#define pii pair#define pdi pair#define pdd pair#define mii map::iterator

#define fst first

#define sec second

#define ms(x,d) memset(x,d,sizeof(x))

#define inf 0x3f3f3f3f

#define all(x) x.begin(),x.end()

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define root 0,n-1,1

#define pb push_back

#define for(a,b,c) for(int a=b;a

DP 重疊子問題 POJ 3280

以案例給出的abcb為例 假定字串abcb的子串ab,形成回文字串有四種構造方法 1.刪除開頭的a ab b 2.刪除結尾的b ab a 3.在結尾增加a ab aba 4.在開頭增加b ab bab 經過以上四種構造方法,便已然講ab構成回文串的費用記錄於陣列中由以上類推,此dp的重疊子問題是 其...

簡單的區間 dp

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

POJ 1141 括號區間DP

1.題目鏈結。其實這個題目就是一般的區間dp,不過感覺輸出還是需要一點技巧的。2.dp i j 表示區間 i,j 需要加的括號的最小的數量,那就分為兩種情況討論,s i 與s j 匹配的時候,s i 與s j 不匹配的時候。匹配的時候直接就是有dp i 1 j 1 轉移而來,不匹配的時候,列舉中間點...