動(dòng)規(guī)難題?看看大佬們?nèi)绾谓忸}踩萎。

上期停局,我們講解了樹形DP,通過搜索和DP相結(jié)合來解決問題∠愀現(xiàn)在董栽,我們將要擺脫搜索的束縛,真正探索動(dòng)態(tài)規(guī)劃的世界企孩。

今天锭碳,我來向大家講解一下區(qū)間動(dòng)規(guī)的問題模型和解決方法。

首先勿璃,顧名思義擒抛,區(qū)間動(dòng)規(guī)所要解決的問題是在一個(gè)序列上的推汽,每一個(gè)區(qū)間都是一個(gè)子問題,這些子問題最后一同構(gòu)成最終的問題歧沪。

按照套路歹撒,我們應(yīng)該先解決子問題,再解決父問題诊胞。那顯然應(yīng)該按區(qū)間的大小從小到大進(jìn)行處理暖夭。顯然,只有一個(gè)元素的時(shí)候撵孤,應(yīng)該是很容易得到答案的迈着。

接下來,我通過幾道例題加深大家對區(qū)間動(dòng)規(guī)的理解(例題來源洛谷邪码,侵刪)裕菠。

洛谷P1880

Problem

這道題是區(qū)間動(dòng)規(guī)的經(jīng)典題目。
閱讀題目霞扬,我們發(fā)現(xiàn)所有石子排成一列(問題在一個(gè)序列上)糕韧,每次合并兩對石子(區(qū)間子問題),所以顯然是一個(gè)區(qū)間動(dòng)規(guī)的問題喻圃。
那么怎么解決呢萤彩?
如果一段區(qū)間要合并,那么肯定是先將這段區(qū)間的兩個(gè)子區(qū)間合并成兩堆斧拍,再將這兩堆合并雀扶。一個(gè)問題是不是就轉(zhuǎn)換成兩個(gè)子問題了呢?
我們可以定義f[i][j]表示把第i個(gè)石子到第j個(gè)石子合并成一堆可以得到的最大價(jià)值肆汹,轉(zhuǎn)移方程很容易能得到:

動(dòng)規(guī)方程

最小值同理愚墓,自己試一試吧。

洛谷P3205

problem

這是一道很有意思的題目【笑】昂勉。
這道題有兩個(gè)序列浪册,分別是初始序列和最終序列,那么我們要拿哪一個(gè)來DP呢岗照?
考慮初始序列村象,這題需要我們統(tǒng)計(jì)初始序列的方案樹,那么初始序列子區(qū)間的狀態(tài)不能用兩個(gè)端點(diǎn)來表示攒至,還需要其他的數(shù)據(jù)還記錄子區(qū)間厚者。如果狀態(tài)太多,顯然時(shí)間上是不可接受的迫吐,所以用初始序列來DP行不通库菲。
如果用最終序列來DP可行嗎?
我們發(fā)現(xiàn)最終序列是一個(gè)固定志膀,而且根據(jù)題意熙宇,隊(duì)形的排出是從一個(gè)元素逐漸拓展成最終序列的過程鳖擒。我們通過兩個(gè)端點(diǎn)和當(dāng)前序列最后進(jìn)入的人排在最左邊還是最右邊,就能表示出一個(gè)區(qū)間的信息(因?yàn)閰^(qū)間內(nèi)部奇颠,除了端點(diǎn)败去,其他數(shù)據(jù)都沒用)。所以用最終序列來DP是可行的烈拒。
我們定義f[i][j][0/1]表示i到j(luò)這個(gè)區(qū)間最后進(jìn)入的人在最左邊(最右邊)的方案數(shù)圆裕,轉(zhuǎn)移方程很容易得到:

動(dòng)規(guī)方程

總結(jié),區(qū)間DP的關(guān)鍵點(diǎn)在于找到用于DP的區(qū)間荆几。這個(gè)區(qū)間應(yīng)該要容易表示吓妆,否則時(shí)間復(fù)雜度會過高。

【信息學(xué)競賽從入門到巔峰】吨铸,一個(gè)專注于分享OI/ACM常用算法及知識的公眾號行拢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诞吱,隨后出現(xiàn)的幾起案子舟奠,更是在濱河造成了極大的恐慌,老刑警劉巖房维,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沼瘫,死亡現(xiàn)場離奇詭異,居然都是意外死亡咙俩,警方通過查閱死者的電腦和手機(jī)耿戚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阿趁,“玉大人膜蛔,你說我怎么就攤上這事〔闭螅” “怎么了皂股?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長命黔。 經(jīng)常有香客問我呜呐,道長,這世上最難降的妖魔是什么纷铣? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任卵史,我火速辦了婚禮战转,結(jié)果婚禮上搜立,老公的妹妹穿的比我還像新娘。我一直安慰自己槐秧,他們只是感情好啄踊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布忧设。 她就那樣靜靜地躺著,像睡著了一般颠通。 火紅的嫁衣襯著肌膚如雪址晕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天顿锰,我揣著相機(jī)與錄音谨垃,去河邊找鬼。 笑死硼控,一個(gè)胖子當(dāng)著我的面吹牛刘陶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播牢撼,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼匙隔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了熏版?” 一聲冷哼從身側(cè)響起纷责,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撼短,沒想到半個(gè)月后再膳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阔加,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年饵史,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胜榔。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胳喷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出夭织,到底是詐尸還是另有隱情吭露,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布尊惰,位于F島的核電站讲竿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弄屡。R本人自食惡果不足惜题禀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膀捷。 院中可真熱鬧迈嘹,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至神僵,卻和暖如春雁刷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背保礼。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工沛励, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炮障。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓侯勉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铝阐。 傳聞我的和親對象是個(gè)殘疾皇子址貌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359