NYOJ15-括号匹配(二)-区间DP
生活随笔
收集整理的這篇文章主要介紹了
NYOJ15-括号匹配(二)-区间DP
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://acm.nyist.net/JudgeOnline/problem.php?
pid=15
dp[i][j]表示從i到j(luò)至少須要加入多少個括號才干滿足匹配條件.
初始化:
if(i == j)
?? dp[i][j] = 1;
else
?? dp[i][j] = INF;
狀態(tài)轉(zhuǎn)移:
當(dāng)i < j時;
if(match(str[i], str[j])) dp[i][j] = min(dp[i][j], d[i + 1][j - 1]);
然后切割區(qū)間, 找最優(yōu)切割點k. (i <= k <= j);
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j]);
循環(huán)時, 遍歷區(qū)間(i...j)的起點i以及區(qū)間長度len, len從小到大依次遞增.
即循環(huán)找出每一段起點為i長度為len的區(qū)間的最優(yōu)解, 慢慢擴(kuò)大至整個區(qū)間.即終于問題的解!
轉(zhuǎn)載于:https://www.cnblogs.com/zsychanpin/p/6900938.html
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的NYOJ15-括号匹配(二)-区间DP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从DataTable高效率导出数据到Ex
- 下一篇: 【Oracle】Oracle索引