版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、安陽(yáng)一中信息學(xué)奧賽輔導(dǎo)資料第1頁(yè)共6頁(yè)動(dòng)態(tài)規(guī)劃程序設(shè)計(jì)動(dòng)態(tài)規(guī)劃程序設(shè)計(jì)5區(qū)間型動(dòng)態(tài)規(guī)劃在信息學(xué)競(jìng)賽中應(yīng)用甚廣,它是動(dòng)態(tài)規(guī)劃中的經(jīng)典問題,最小代價(jià)字母樹是這類動(dòng)態(tài)規(guī)劃最經(jīng)典的體現(xiàn),對(duì)于初學(xué)者而言這類動(dòng)態(tài)規(guī)劃并不太好理解。于是,區(qū)間型動(dòng)態(tài)規(guī)劃又成了動(dòng)態(tài)規(guī)劃中的難點(diǎn)問題。歷屆大賽中區(qū)間型動(dòng)態(tài)規(guī)劃題目的考查。區(qū)間型動(dòng)態(tài)規(guī)劃是各大信息學(xué)競(jìng)賽出題的熱點(diǎn),具體體現(xiàn)在以下題目:1合并石子——NOIl9952能量項(xiàng)鏈——NOIP20063加分二叉樹——N
2、OIP20034最優(yōu)排序二又樹——ctsc96這些題目出現(xiàn)的頻次及其所在比賽的重要性足以說明區(qū)間型動(dòng)態(tài)規(guī)劃在各類動(dòng)態(tài)規(guī)劃中有著舉足輕重的地位。區(qū)間類模型的動(dòng)態(tài)規(guī)劃一般是要求整段區(qū)間的最優(yōu)值子問題一般是把區(qū)間分成兩個(gè)子區(qū)間。一般用二維數(shù)組表示狀態(tài)例如f[ij]表示從i到j(luò)的最優(yōu)值則狀態(tài)轉(zhuǎn)移方程就是跟子區(qū)間之間的關(guān)系。一、區(qū)間型動(dòng)態(tài)規(guī)劃的算法分析一、區(qū)間型動(dòng)態(tài)規(guī)劃的算法分析在這里就以經(jīng)典的最小代價(jià)字母樹作為例子,對(duì)區(qū)間型動(dòng)態(tài)規(guī)劃的算法進(jìn)行分
3、析。問題描述:給定一個(gè)序列,如4,1,2,3,我們將它們相加進(jìn)行合并,最終合并成一個(gè)數(shù),每次相加的代價(jià)是兩個(gè)加數(shù)的和,求怎樣的相加順序可以使總代價(jià)最小。很多初學(xué)者認(rèn)為這類動(dòng)態(tài)規(guī)劃不易理解,其重要原因是這類動(dòng)態(tài)規(guī)劃與其他動(dòng)態(tài)規(guī)劃的思想不大相同,而初學(xué)者又是利用其他動(dòng)態(tài)規(guī)劃的思想來解決這類動(dòng)態(tài)規(guī)劃,從而進(jìn)入了思維誤區(qū)。這種錯(cuò)誤的思維模式一旦建立便很難重新建立正確的解題思想,從而陷入絕境。這類動(dòng)態(tài)規(guī)劃正確的解法是這樣的:首先,根據(jù)動(dòng)態(tài)規(guī)劃無后
4、效性的性質(zhì)可以想到:對(duì)于一個(gè)序列:A1,A2…An,假如最后相加的兩個(gè)數(shù)是第一個(gè)數(shù)到第i個(gè)數(shù)的和s[1……i]以及第i1個(gè)數(shù)到第n個(gè)數(shù)的和s[i1…n],另外,對(duì)于第一個(gè)數(shù)到第i個(gè)數(shù)相加的最小代價(jià)是F[l,i]以及從第i1到第n個(gè)數(shù)相加的最小代價(jià)為F[i1,n],則總代價(jià)即為F[i1,n]F[1,i](前面相加的最小代價(jià))s[1…i]s[i1…n](最后一次相加的最小代價(jià))。由此,我們可以清楚地看出要想求出總代價(jià)的最小值只要枚舉i的位置
5、,使得F[i1,n]F[1,i]S[1i]s[i1…n]的和最小即可。綜上所述,我們可以總結(jié)出狀態(tài)轉(zhuǎn)移方程:F[i,J]:=rainF[i,k]F[k1,j]S[i,k]S[k1,j])狀態(tài)轉(zhuǎn)移數(shù)組F即代表從第i個(gè)數(shù)到第j個(gè)數(shù)相加的最小代價(jià),s數(shù)組為預(yù)處理好的從第i個(gè)數(shù)到第j個(gè)數(shù)的和。核心代碼如下:Fi:=1tondoFj:=1tonIdoFk:=jtoij1doIff[jij]f[jk]f[k1Ij]s[jk]s[k1Ij]安陽(yáng)一中信
6、息學(xué)奧賽輔導(dǎo)資料第3頁(yè)共6頁(yè)digui(xdg[xy])digui(dg[xy]y)ifbjthenbeginwrite(xdg[xy]y)bj:=falseendelsewrite(xdg[xy]y)endbeginreadln(n)fi:=1tondobeginread(S[i])endreadlnfill(fsizeof(f)$7f)fill(dgsizeof(dg)0)fi:=1tondof[ii1]:=0數(shù)據(jù)賦初值fjj:=2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 作業(yè)5 程序設(shè)計(jì)_函數(shù)
- c語(yǔ)言程序設(shè)計(jì)_課件_5-
- vb程序設(shè)計(jì)例題-程序改錯(cuò)程序填空程序設(shè)計(jì)
- 《動(dòng)態(tài)腳本程序設(shè)計(jì)》課程教學(xué)大綱70
- 程序設(shè)計(jì)教案 程序設(shè)計(jì)——數(shù)據(jù)結(jié)構(gòu)
- Java程序設(shè)計(jì) 5章_ppt.txt
- Java程序設(shè)計(jì) 5章_ppt.txt
- 第5章-數(shù)論中的程序設(shè)計(jì)
- java語(yǔ)言程序設(shè)計(jì)試題及答案(5)
- 最簡(jiǎn)單的c程序設(shè)計(jì)――順序程序設(shè)計(jì)
- 自動(dòng)程序設(shè)計(jì)
- 894程序設(shè)計(jì)
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)第5版
- 程序設(shè)計(jì)實(shí)習(xí)
- android程序設(shè)計(jì)
- 程序設(shè)計(jì)類
- java程序設(shè)計(jì)
- 5132程序設(shè)計(jì)
- 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)vb語(yǔ)言程序設(shè)計(jì)
- 程序設(shè)計(jì)教案
評(píng)論
0/150
提交評(píng)論