版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、問題求解與程序設(shè)計第七講 搜索李文新2019.2 2019.6 內(nèi)容提要 搜索 討論 1011 stick 討論 1054 the troublesome frog 參考王知昆的冬令營報告 作業(yè)搜索的一般概念 在解空間中嘗試所有可能,找出滿足條件的取值 回顧填數(shù)游戲:1-9填在3*3的表格中,使得行、列、對角線的和均為15。 方程組 搜索 逐一嘗試+剪枝題目討論 1011 stick題目討論 The Troublesome Frog IOI 2019 day 1 task 1問題 稻田問題 青蛙從外面跳入稻田,踩過一些禾苗,后,跳出稻田。問題 蛙路:一個方向,等間距,大于等于3個點 不同蛙路:
2、可以方向不同,間距不同問題 許多青蛙跳過稻田,形成多條蛙路,不同蛙路可以踩過同一作物。問題 青蛙每天早上踩壞稻田,早上人們發(fā)現(xiàn)稻田有若干株作物被踩壞,但不知多少青蛙來過。也有不在蛙路上的被踩壞的作物。問題 問,給定一塊被踩壞的稻田,求可能的最長的蛙路上被踩壞的作物的數(shù)目。輸入 第一行整數(shù)R和C,稻田的行數(shù)和列數(shù) 第二行整數(shù)N,表示被踩壞的作物總數(shù)。 后續(xù)N行,每行兩個整數(shù)i,j為被踩壞的作物的行和列的位置:1=i=R,1,1=j=C。 每個被踩壞的作物只出現(xiàn)一次。輸出 單個整數(shù)- 表示最長可能蛙路上踩壞的作物數(shù)目樣例 Figure- 4問題的解 這道題目也就是說,在給出的n個點中找出一些點的序
3、列來,使得每一個點相對于上一個點的坐標(biāo)都是一個相同的向量,且第一個點減去這個向量和最后一個點加上這個向量后均落在方格的外面。 問題的解 我們先對這些點按照坐標(biāo)排序。然后依次循環(huán)出要求的序列中的第一個和第二個點,這樣我們就知道后一個點相對于前一個點的坐標(biāo)是多少了。然后我們依次用第二個點加上這個坐標(biāo)的出第三個點,第三個點加上這個坐標(biāo)得出第四個點等等。當(dāng)然,我們還需要判斷一下這求出來的第三個、第四個點是否在給定的點內(nèi)。 問題的解 由于每個點的上一個點/下一個點最多只能有n種選擇,故一個點最多屬于n條不同的蛙路。這樣,對于某個確定的點來說,它的所有可能的下一個需要判斷的點至多有n個。這樣因為判斷一個點
4、在不在給定的點內(nèi)只需要O(1)的復(fù)雜度,所以我們只需要O(n2)的時間就可以得出問題的解答。由于這個算法需要一個r*c的表來保存點在方格中的存在狀態(tài),故空間復(fù)雜度為O(n2)。 問題的解 需要注意的是,蛙路中的點數(shù)少于3個的時候是不考慮的。所以這個時候的蛙路中的點數(shù)應(yīng)該按照0來算。 實現(xiàn)細(xì)節(jié) Frog vs frog 平面上點的表示 Frog 2 0 有冗余代碼 Frog 2 1 去掉冗余 Frog 2 2 compare 判別 Frog 2 3改變表達(dá)式寫法 Frog 2 4增加剪枝 Frog 2 5不太好的剪枝順序 Frog 2 6較好的剪枝順序測試數(shù)據(jù)No. N, (R*C) Descr
5、iption Solution1 18, (6 * 7) Sample data in the task description 42 10, (10 * 10) Manually designed 53 25, (50 * 50) Manually designed 134 50, (10 * 10) Several Lines + random points 105 100, (20 * 20) modified random point set 106 300, (30 * 30) modified random point set 157 500, (55 * 55) Several
6、Lines + random points 288 500, (100 * 100) Special case for no solution 09 1000, (100 * 100) Several Lines + random points 3410 1000, (1000 * 1000) Several Lines + random points 25011 2000, (50 * 50) Random (uniform) points 2512 2000, (100 * 200) Several Lines + random points 3313 2000, (1000 * 2000
7、) Several Lines + random points 333測試數(shù)據(jù)14 3000, (60 * 60) Uniformly random points 3115 3000, (500 * 500) X shapes and random points 50016 3000, (5000 * 1) Horizontal line 2017 3000, (5 * 1000) Several Lines + random points 1718 4000, (100 * 100) Random points (uniformly) 3419 4000, (200 * 20) Very dense points set 20020 4000, (1000 * 1000) Several Lines + random points 50021 4000, (5000 * 5000) Several Lines + random points 31122 5000, (100 * 100) Chess board style 10023 5000, (1000 * 1000) Several Lines + random points 33424 500
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼師入職職業(yè)發(fā)展規(guī)劃
- 初中理論考試題庫及答案
- 管理制度考試題庫及答案
- 2025-2026人教版初中三年級語文上學(xué)期測試卷
- 腸道菌群與代謝性腎病進(jìn)展的關(guān)聯(lián)
- 《保溫集裝箱用反射隔熱涂料(征求意見稿)》編制說明
- 腸內(nèi)腸外營養(yǎng)支持技術(shù)的優(yōu)化策略
- 中醫(yī)藥衛(wèi)生應(yīng)急制度
- 一次性衛(wèi)生用品管理制度
- 衛(wèi)生院合同業(yè)務(wù)內(nèi)控制度
- 2025年大學(xué)生物(細(xì)胞結(jié)構(gòu)與功能)試題及答案
- 2026年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試參考題庫含答案解析
- 氮氣安全技術(shù)說明書
- GB/T 17642-2025土工合成材料非織造布復(fù)合土工膜
- GB/T 45133-2025氣體分析混合氣體組成的測定基于單點和兩點校準(zhǔn)的比較法
- 北京市行業(yè)用水定額匯編(2024年版)
- 婚內(nèi)財產(chǎn)協(xié)議書標(biāo)準(zhǔn)版
- 基于大數(shù)據(jù)的金融風(fēng)險評估模型構(gòu)建
- 供應(yīng)鏈與生產(chǎn)制造L1-L4級高階流程規(guī)劃框架 相關(guān)兩份資料
- 國際貿(mào)易合同履行中的運輸保險索賠程序與操作指南
- 運動系統(tǒng)疾病
評論
0/150
提交評論