區間DP練習

2021-07-23 02:41:39 字數 970 閱讀 1568

部落格

lightoj 1422

int dp[105][105] , a[105];

// dp[i][j] i 到 j 最小穿多少衣服

int main()}}

}printf("%d\n",dp[1][n]);

}return 0;

}

poj2955括號匹配

int dp[105][105] , a[105];

// dp[i][j] i 到 j 匹配了多少括號。

int main()}}

printf("%d\n",dp[1][len]);

}return 0;

}

poj3280好題

給你乙個字串,給出一些字元,可以新增刪除這些字元形成新的字串,要求新的字串是回文串,且花費最小,給出了對應字元的新增刪除花費。

dp[i][j] 代表區間i到j是回文串的最小花費。

則有三種情況

dp[i][j]已經是回文串了,那麼我們可以從dp[i+1][j]這種情況,新增乙個是s[i],可以形成dp[i][j],或者刪除乙個s[j],形成回文串,s[i] == s[j],所以只用刪除s[i]即可。

同理 可以從dp[i][j-1],得到。

當s[i] == s[j] ,dp[i][j] = min(dp[i][j], dp[i+1][j-1]);

int dp[2005][2005] , a[105];

char s[2005];

int cost[27];

int main()}}

printf("%d\n",dp[1][len]);

}return 0;

}

三個題了,都是外層迴圈倒著來,內層迴圈正著來,fighting。

待續。。

揹包練習及區間dp

這幾天學了區間dp,怎麼說呢,揹包還沒掌握好久又接受了新的知識,更懵逼了。有點跟不上老師上課的講課速度了,課下必須多看多做,不然真的不會做題了。哎,現在甚至有時候連題目都讀不懂什麼意思了,更別說思路了。崩潰了!區間dp,顧名思義,就是解決一些區間內的最優值的問題,一般和列舉結合運用,定義結構體什麼的...

動態規劃 之 區間DP練習

loj 放上了那麼多 資訊學奧賽一本通 上的題 雖然我並沒有這本書 我要給它點乙個大大的贊 以後分類刷題不愁啦!那就一道道說吧。將 n 堆石子繞圓形操場排放,現要將石子有序地合併成一堆。規定每次只能選相鄰的兩堆合併成新的一堆,並將新的一堆的石子數記做該次合併的得分。求 n 1 次合併後得分總和的最大...

線性dp 區間dp

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