下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、IOI2003 中國(guó)國(guó)家集訓(xùn)隊(duì)難題活動(dòng)0018 解題金陵中學(xué)【題目大意】n 個(gè)盒子被放成一圈,每個(gè)盒子按順時(shí)針?biāo)泻凶永锴虻目倲?shù)不超過(guò)n。為 1 到 n,(1=n=1000)。每個(gè)盒子里都有一些球,且這些球要按如下的方式轉(zhuǎn)移:每一步可以將一個(gè)球從盒子中取出,放入一個(gè)相鄰的盒子中。目標(biāo)是使所有的盒子中球的個(gè)數(shù)都不超過(guò) 1。求達(dá)到目標(biāo)所需要的最少步數(shù)?!窘鉀Q情況】用貪心算法解決,其理論基礎(chǔ)是一個(gè)網(wǎng)絡(luò)流模型。時(shí)間復(fù)雜度是O(n2),空間復(fù)雜度是O(n)?!舅惴ü8拧控澬乃惴?,每次安排一個(gè)球。安排每個(gè)球,都找出一個(gè)與初始局面相比差異最小的一個(gè)方案。安排好所有的球以后,最終局面與初始局面相比的差異,就是
2、最后的?!臼斋@與感謝】感謝林希德同學(xué)提醒,貪心算法實(shí)際上相當(dāng)與一個(gè)最小費(fèi)用最大流算法,使我找到了貪心算法的理論基礎(chǔ)。【正文】一、 網(wǎng)絡(luò)流模型在這個(gè)問(wèn)題的描述中,可以看到:目標(biāo)狀態(tài)中,所有的格子都只有 1 個(gè)球,而且要求總移動(dòng)次數(shù)最少。這似乎能用網(wǎng)絡(luò)流的模型來(lái)表示。的確是如此,可以建立一個(gè)源 S,匯 T,在 S 與所有的原來(lái)有球的盒子建立一條邊,容量為球的數(shù)量,費(fèi)用為 0;在所有的盒子和T 之間也建立一條邊,容量為 1,費(fèi)用也為 0;在相鄰的盒子之間分別建立邊,容量為,費(fèi)用為 1。最后,求出這個(gè)網(wǎng)絡(luò)的最小費(fèi)用最大流,費(fèi)用即是所要求的最少步數(shù)。上述模型的正確性是不容置疑的,但是,常規(guī)的最小費(fèi)用最大
3、流,時(shí)間復(fù)雜度都在O(n3)的級(jí)別上。題目描述中的N 最大可到 1000,不一定能夠承受。二、 基于網(wǎng)絡(luò)流模型的貪心算法正確的想法不能輕易放棄,還是一下網(wǎng)絡(luò)流在這道題目中的工作機(jī)理。按照最小費(fèi)用最大流的方法,每一次循環(huán),都要將可行流增加 1,最終需要增加的次數(shù)就是球的總數(shù)。這恰好對(duì)應(yīng)于,依次安排每個(gè)球的移動(dòng),直到它們都找到一個(gè)合適的存放點(diǎn)。在最初的幾次循環(huán)中,必然會(huì)產(chǎn)生形如 SBiT(Bi 指原先就有球的盒子)、費(fèi)用為 0 的增廣軌。這又對(duì)應(yīng)于,對(duì)于剛開(kāi)始就有球的盒子,一般都會(huì)在這個(gè)盒子中留下一個(gè)球(雖然這個(gè)球以后可能被移動(dòng)),那么這個(gè)球目前移動(dòng)的次數(shù)就是 0。最重要的就是在的時(shí)候,如圖 1(
4、加粗的弧是已經(jīng)滿載的弧,盒子與盒子之間的弧,如果有流量B1B1XB2YZXSB2TY圖 1Z則為綠色),目前已經(jīng)有 SB2,但是 B2T 已經(jīng)滿載,無(wú)法形成增廣軌。那么,網(wǎng)絡(luò)流算法是如何解決問(wèn)題的呢?這種情況其實(shí)就對(duì)應(yīng)于某個(gè)球在初始的位置與其它球形成了可以觀察到,這道題目的網(wǎng)絡(luò)流模型有兩個(gè)重要的性質(zhì):。1所有滿足 PT 不滿載的頂點(diǎn) P,都沒(méi)有任何有流量的后向邊與之相連。確實(shí)如此,如果一個(gè)盒子中目前沒(méi)有擺放一個(gè)球,那么就必然沒(méi)有球移入這個(gè)盒子中。從任何一個(gè)盒子開(kāi)始,都不可能找到到達(dá) T 的負(fù)費(fèi)用路。這也是顯然的,在原來(lái)安排好所有球的基礎(chǔ)上,又增添一個(gè)球,只會(huì)帶來(lái)額外的調(diào)整費(fèi)用,不可能使總費(fèi)用降
5、低。2根據(jù)這個(gè)性質(zhì), 可以得出:對(duì)于剛才的那種情況,只有 2 條增廣軌可能是最小費(fèi)用的增廣軌:分別沿著兩個(gè)方向不斷地尋找滿足 PT 不滿載的頂點(diǎn) P,沿途要盡量走后向邊(后向邊的費(fèi)用是-1),直至找到為止(因?yàn)椴淮嬖趶脑擖c(diǎn)到T 的負(fù)費(fèi)用路,所以繼續(xù)沿這個(gè)方向?qū)ふ业降脑鰪V軌費(fèi)用一定比現(xiàn)在高),所走的路線和PT 就可以形成一個(gè)增廣軌了。如圖 2 所示,藍(lán)色的弧組成了兩條增廣軌,費(fèi)用均為 2。B1B1XXSSB2TB2TYYZ圖 2得出了解決Z將這個(gè)理論對(duì)應(yīng)到實(shí)際的移球過(guò)程,的辦法:如果一個(gè)球在初始的位置和別的球形成了舊存在,就分別沿著順時(shí)針、逆時(shí)針的方向,將原來(lái)盒子中的球移出下一個(gè)盒子中,如果那個(gè)
6、盒子仍,就將該盒子中原來(lái)的球取出,沿著原方向繼續(xù)移動(dòng),直至找到一個(gè)空盒子為止。那么,這個(gè)局面和初始時(shí)(所有球都集中在原來(lái)盒子友誼個(gè)球被移動(dòng))的總的差異(也就是局面中每個(gè)球與初始位置的距離之和),就是形成這種局面的費(fèi)用,舍棄掉兩個(gè)局面中費(fèi)用較大的一個(gè),如果費(fèi)用一樣大就隨便舍掉一個(gè),兩種方案如圖 3 所示。這樣,就得到一個(gè)貪心算法:B1XB2YZB1XB2YZ圖 3初始時(shí),所有的球都沒(méi)處理,所有的盒子中都沒(méi)有球。找到一個(gè)沒(méi)處理的球A,轉(zhuǎn) 3;如果找不到就計(jì)算目前局面與初始局面的差異,作為最終的費(fèi)用,結(jié)束。將球A 擺放在原來(lái)所處的位置上,如果該位置有球 B,則將球B 取出,轉(zhuǎn) 4。將球B 放入順時(shí)針
7、方向相鄰的盒子里,如果該盒子里有球 C,則將球 C 取出放入順時(shí)針?lè)较蛳噜彽暮凶永锶绱搜h(huán)往復(fù),直至找到一個(gè)沒(méi)有球的盒子。計(jì)算費(fèi)用,將局面恢復(fù)為沒(méi)有移動(dòng)球 B 的狀態(tài)。將球B 放入逆時(shí)針?lè)畔蛳噜彽暮凶永铮绻摵凶永镉星?C,則將球 C 取出放入逆時(shí)針?lè)较蛳噜彽暮凶永锶绱搜h(huán)往復(fù),直至找到一個(gè)沒(méi)有球的盒子。計(jì)算費(fèi)用,將局面恢復(fù)為沒(méi)有移動(dòng)球B 的狀態(tài)。123456取兩種移動(dòng)方案中費(fèi)用較小的一種進(jìn)行移動(dòng),完成A 的擺放和的調(diào)整。這個(gè)貪心算法比起網(wǎng)絡(luò)流算法,更容易理解,而且它和原來(lái)的網(wǎng)絡(luò)流算法從本質(zhì)上說(shuō)是完全一致的,因此它的正確性也得到了充分的保證。三、 復(fù)雜度分析每擺放一個(gè)球,如果要解決,那么在一個(gè)方向上最多要進(jìn)行 n-1 次操作(否則就找不到?jīng)]有球的盒子了),一次計(jì)算費(fèi)用也最多只要進(jìn)行 n 次減法。因?yàn)樽疃嘈枰獢[放 n 個(gè)球,所以,總的時(shí)間復(fù)雜度是O(n2),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025服務(wù)員聘用合同
- 2025借款合同填寫(xiě)注意事項(xiàng)
- 施工安全合同書(shū)(乙方承擔(dān)全部責(zé)任版)
- 課題申報(bào)參考:黎巴嫩女性文學(xué)中的性別敘事與國(guó)家建構(gòu)
- 課題申報(bào)參考:老齡化背景下衰老信念對(duì)年長(zhǎng)員工工作績(jī)效影響的機(jī)制研究
- 2025年新世紀(jì)版選修1歷史上冊(cè)階段測(cè)試試卷
- 2025年外研版三年級(jí)起點(diǎn)選擇性必修三語(yǔ)文上冊(cè)月考試卷
- 2024年華東師大版八年級(jí)地理上冊(cè)月考試卷含答案
- 2025年人教新起點(diǎn)八年級(jí)歷史下冊(cè)月考試卷含答案
- 2025年度物聯(lián)網(wǎng)設(shè)備制造與銷售合同范本4篇
- 2024年山東省泰安市高考物理一模試卷(含詳細(xì)答案解析)
- 護(hù)理指南手術(shù)器械臺(tái)擺放
- 腫瘤患者管理
- 2025年中國(guó)航空部附件維修行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局、行業(yè)政策及需求規(guī)模預(yù)測(cè)報(bào)告
- 2025春夏運(yùn)動(dòng)戶外行業(yè)趨勢(shì)白皮書(shū)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 2024年醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范培訓(xùn)課件
- 零部件測(cè)繪與 CAD成圖技術(shù)(中職組)沖壓機(jī)任務(wù)書(shū)
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 高低壓配電柜產(chǎn)品營(yíng)銷計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論