湯澤教案資料_第1頁(yè)
湯澤教案資料_第2頁(yè)
湯澤教案資料_第3頁(yè)
湯澤教案資料_第4頁(yè)
湯澤教案資料_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

從一類(lèi)單調(diào)性問(wèn)題看算法的優(yōu)化長(zhǎng)沙市一中湯澤充分挖掘數(shù)據(jù)關(guān)系,靈活運(yùn)用數(shù)據(jù)結(jié)構(gòu),往往是構(gòu)造出優(yōu)秀算法的關(guān)鍵因素一般隊(duì)列:一端插入,另一端刪除特殊隊(duì)列:尾端插入,兩端刪除單調(diào)性:幫助優(yōu)化一類(lèi)單調(diào)性問(wèn)題問(wèn)題1鋸木廠選址2<=N<=20000,1<=Wi<=10000,1<=Di<=10000123112112131261213W:N=9D:問(wèn)題1鋸木廠選址最優(yōu)方案中,鋸木廠必定建在有樹(shù)的位置問(wèn)題1鋸木廠選址分析:C[I]:在第I棵樹(shù)處建立一個(gè)鋸木廠,并且將第1到第I棵樹(shù)全部運(yùn)到這個(gè)鋸木廠所需的費(fèi)用W[J,I]:在第I棵樹(shù)處建立一個(gè)鋸木廠,并且將第J+1到第I棵樹(shù)全部運(yùn)往這個(gè)鋸木廠的費(fèi)用

問(wèn)題1鋸木廠選址分析:F[I]表示在第I棵樹(shù)處建立第二個(gè)鋸木廠的最小費(fèi)用,則:這個(gè)算法的時(shí)間復(fù)雜度為O(N^2)問(wèn)題1鋸木廠選址

I

JI+1

J問(wèn)題1鋸木廠選址證明:令S[K,I]表示決策變量取K時(shí)F[I]的值

設(shè)K1<K2<I,S[K1,I]-S[K2,I]<0

問(wèn)題1鋸木廠選址證明:設(shè)K1<K2<I,S[K1,I]-S[K2,I]<0令g[K1,K2]=上面不等式的左邊

因?yàn)镈[K]≥0,因此Sd序列不下降

因此決策是單調(diào)的!問(wèn)題1鋸木廠選址分析:

維護(hù)一個(gè)特殊隊(duì)列K,K1<K2<…<Kn,g[K1,K2]<g[K2,K3]<…g[Kn-1,Kn]:計(jì)算狀態(tài)F[I]前,若g[K1,K2]<=Sd[I],表示決策K1不比K2優(yōu),刪除K1,重復(fù)該步驟問(wèn)題1鋸木廠選址分析:計(jì)算F[I],F[I]=C[K1]+W[K1,I]+W[I,n+1]若g[Kn-1,Kn]>g[Kn,I],Sd[I’]>g[Kn-1,Kn]>g[Kn,I]Kn比Kn-1優(yōu)之前I就將比Kn優(yōu),刪除Kn,重復(fù)該步驟,最后將I插入隊(duì)列

算法總復(fù)雜度O(N)問(wèn)題2旅行問(wèn)題問(wèn)題描述:一個(gè)環(huán)形跑道上有n個(gè)加油站,按順時(shí)針編號(hào)為1到n(3<n<10^6)第i號(hào)加油站有Pi(0<=Pi<10^9)升汽油,每升汽油可供行駛一千米第i號(hào)車(chē)站到其下一站的距離為Di(0<di<10^9)問(wèn)題2旅行問(wèn)題一個(gè)例子:N=5P[1]=3;D[1]=1P[2]=1;D[2]=2P[3]=5;D[3]=2P[4]=0;D[4]=1P[5]=5;D[5]=43150512214問(wèn)題2旅行問(wèn)題一個(gè)例子:N=5P[1]=3;D[1]=1P[2]=1;D[2]=2P[3]=5;D[3]=2P[4]=0;D[4]=1P[5]=5;D[5]=4S=3S=3S=6S=4S=8S=2S=1S=4S=3S=4以1號(hào)加油站為起點(diǎn)問(wèn)題2旅行問(wèn)題一個(gè)例子:N=5P[1]=3;D[1]=1P[2]=1;D[2]=2P[3]=5;D[3]=2P[4]=0;D[4]=1P[5]=5;D[5]=4S=1以2號(hào)加油站為起點(diǎn)S=-1問(wèn)題2旅行問(wèn)題一個(gè)例子:N=5P[1]=3;D[1]=1P[2]=1;D[2]=2P[3]=5;D[3]=2P[4]=0;D[4]=1P[5]=5;D[5]=4S=1S=0S=-1以2號(hào)加油站為起點(diǎn)S=3問(wèn)題2旅行問(wèn)題一個(gè)例子:N=5P[1]=3;D[1]=1P[2]=1;D[2]=2P[3]=5;D[3]=2P[4]=0;D[4]=1P[5]=5;D[5]=4以1、3、5號(hào)加油站為起點(diǎn)有辦法周游一圈算法一分析:直接模擬剛剛的演算過(guò)程總的時(shí)間復(fù)雜度為O(N^2)

但是N最大可以達(dá)到10^6!太慢了!算法二分析:假定只能按順時(shí)針?lè)较蛐旭?令A(yù)[I]=P[I]-D[I]A[I+N]=A[I]A[0]=0

設(shè)SA[I]表示A序列中前I項(xiàng)的和算法二0123456789A02-13-112-13-1sa021434658712345P31505D12214算法二分析:SA[I]到SA[I+N-1]都不小于SA[I-1]SA[I]到SA[I+N-1]中的最小數(shù)不小于SA[I-1]

求N個(gè)數(shù)中的最小數(shù),很自然地想到了堆!算法二0123456A02-13-112Sa021434612434134413464堆中不超過(guò)N個(gè)元素2N次插入操作2N次刪除操作N次取堆頂元素總復(fù)雜度O(NLog2N)算法三分析:給定一個(gè)序列SA和N個(gè)區(qū)間求出每個(gè)區(qū)間中的最小值,對(duì)其作相應(yīng)判定

這是一個(gè)標(biāo)準(zhǔn)的RMQ問(wèn)題!時(shí)間復(fù)雜度降為O(N)SA:0214342143

算法四分析:

給定的N個(gè)區(qū)間不存在包含關(guān)系,滿(mǎn)足單調(diào)性!

0123456789Sa:0214342143

K:

22777同樣滿(mǎn)足單調(diào)性?算法四預(yù)處理:維護(hù)一個(gè)特殊隊(duì)列K,K1<K2<…<KnSa[k1]<Sa[k2]<…Sa[Kn]將1,2…n-1依次插入隊(duì)列K.插入前,如果Sa[i]<=Sa[kn],將Kn刪除.反復(fù)該步驟,最后將i插入隊(duì)列算法四求解并更新K:若K1=i-1,將K1刪除出隊(duì)列插入新位置號(hào)i+n-1,若Sa[Kn]>=Sa[i+n-1],刪除Kn,重復(fù)這個(gè)步驟,最后將i+n-1作為Kn插入隊(duì)列若Sa[k1]>=Sa[i-1],表示從i號(hào)加油站出發(fā)可以周游一周總復(fù)雜度O(N)四個(gè)算法比較空間復(fù)雜度時(shí)間復(fù)雜度實(shí)現(xiàn)難度算法一O(N)O(N^2)很容易算法二O(N)O(Nlog2N)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論