




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
動態(tài)規(guī)劃(1)
(Dynamicprogramming)用遞推代替遞歸用空間換時間北大李文新《程序設計導引及在線時間》第10章先熱身一下——海盜分金問題5名海盜搶得了窖藏的100塊金子,并打算瓜分這些戰(zhàn)利品。這是一些講民主的海盜(當然是他們自己特有的民主),他們的習慣是按下面的方式進行分配:最厲害的一名海盜提出分配方案,然后所有的海盜(包括提出方案者本人)就此方案進行表決。如果50%或更多的海盜贊同此方案,此方案就獲得通過并據(jù)此分配戰(zhàn)利品。否則提出方案的海盜將被扔到海里,然后下一名最厲害的海盜又重復上述過程。所有的海盜都樂于看到他們的一位同伙被扔進海里,不過,如果讓他們選擇的話,他們還是寧可得一筆現(xiàn)金。他們當然也不愿意自己被扔到海里。所有的海盜都是聰明絕頂?shù)模抑榔渌暮1I也是聰明絕頂?shù)?。此外,沒有兩名海盜是同等厲害的——這些海盜按照完全由上到下的等級排好了座次,并且每個人都清楚自己和其他所有人的等級。這些金塊不能再分,也不允許幾名海盜共有金塊,因為任何海盜都不相信他的同伙會遵守關于共享金塊的安排。這是一伙每人都只為自己打算的海盜。最兇的一名海盜應當提出什么樣的分配方案才能使他獲得最多的金子呢?我們按照這些海盜的威望值來給他們編號。最怯懦的海盜為1,最厲害的海盜編號為5。編號為5的海盜會提出什么分配方案呢?如果從游戲的開頭出發(fā)進行分析,那是走不了多遠的。其原因在于,所有的戰(zhàn)略決策都是要確定:“如果我這樣做,那么下一個人會怎樣做?”因此在你以下海盜所做的決定對你來說是重要的,而在你之前的海盜所做的決定并不重要,因為你反正對這些決定也無能為力了。最厲害的5號海盜需要知道其他4名海盜是怎么想的.......好難猜!對4號海盜來說,如果5號海盜被扔進海里喂鯊魚了,他只需要猜透其余3名海盜的算盤。對3號海盜而言,他只須猜透1號和2號海盜對2號海盜而言,他只須猜透1號海盜那我們就倒過來,由易到難我們的出發(fā)點應當是游戲進行到只剩兩名海盜——即1號和2號——的時候。這時最厲害的海盜是2號,而他的最佳分配方案是一目了然的:100塊金子全歸他一人所有,1號海盜什么也得不到。3號海盜的分配方案:3號海盜分得99塊金子,2號海盜一無所獲,1號海盜得1塊金子。1號海盜知道,如果3號的方案被否決,那么最后將只剩2個海盜,而1號將肯定一無所獲——此外,3號也明白1號了解這一形勢。因此,只要3號的分配方案給1號一點甜頭使他不至于空手而歸,那么不論3號提出什么樣的分配方案,1號都將投贊成票。因此3號需要分出盡可能少的一點金子來賄賂1號海盜4號的分配方案應是:99塊金子歸自己,3號一塊也得不到,2號得1塊金子,1號也是一塊也得不到。4號海盜的策略也差不多。他需要有50%的支持票,因此同3號一樣也需再找一人做同黨。他可以給同黨的最低賄賂是1塊金子,而他可以用這塊金子來收買2號海盜。因為如果4號被否決而3號得以通過,則2號將一文不名。5號海盜的分配方案應該是:98塊金子歸自己,1塊金子給3號,1塊金子給1號。5號海盜的策略稍有不同。他需要收買另兩名海盜,因此至少得用2塊金子來賄賂,才能使自己的方案得到采納。討論:為什么賄賂1號和3號而不是4號和2號?總結分析所有這類策略游戲的奧妙就在于應當從結尾出發(fā)倒推回去。游戲結束時,你容易知道何種決策有利而何種決策不利。在現(xiàn)實生活中,有一類活動的過程,由于它的特殊性,可將過程分成若干個互相聯(lián)系的階段,在它的每一階段都需要作出決策,從而使整個過程達到最好的活動效果。這種把一個問題看作是一個前后關聯(lián)具有鏈狀結構的多階段過程就稱為多階段決策過程,這種問題稱為多階段決策問題。
多階段決策問題10.1什么是動態(tài)規(guī)劃1、最短路徑問題2、數(shù)塔問題7E52D1D23738C1C2C3B1B2
A755586757下圖表示城市之間的交通路網(wǎng),線段上的數(shù)字表示費用,單向通行由A->E。試用動態(tài)規(guī)劃的最優(yōu)化原理求出A->E的最省費用。1最短距離問題如圖從A到E共分為4個階段,即第一階段從A到B,第二階段從B到C,第三階段從C到D,第四階段從D到E。除起點A和終點E外,其它各點既是上一階段的終點又是下一階段的起點。例如從A到B的第一階段中,A為起點,終點有B1,B2兩個,因而這時走的路線有兩個選擇,一是走到B1,一是走到B2。若選擇B2的決策,B2就是第一階段在我們決策之下的結果,它既是第一階段路線的終點,又是第二階段路線的始點。在第二階段,再從B2點出發(fā),對于B2點就有一個可供選擇的終點集合(C1,C2,C3);若選擇由B2走至C2為第二階段的決策,則C2就是第二階段的終點,同時又是第三階段的始點。同理遞推下去,可看到各個階段的決策不同,線路就不同。很明由顯,粗當某采階段此的起倉點給榮定時先,它目直接橫影響復著后趴面各刷階段柿的行鴨進路被線和仍整個庸路線躁的長槽短。故此末問題充的要勝求是魔:在酷各個佛階段擾選取箏一個典恰當呀的決妄策,踐使由所這些腿決策現(xiàn)組成坡的一議個決株策序儀列所仰決定忠的一醫(yī)條路洪線,同其總揮路程茶最短撇。如翠何解丑決這蜻個問新題呢錘?要求潛在各加階段卡選取桿一個效恰當細的決蹤蝶策決策美過程埋:(1)由削目標畜狀態(tài)E向前尸推,央可以拖分成之四個直階段礦,即蜓四個柄子問廟題。DE禁C損E亞B體E炒A弓E(2)策略差:每板個階窄段到E的最檔省費倦用為染本階隊段的誓決策截路徑忠。用動軟態(tài)規(guī)喬劃法虹求解(3)D1,D2是第貧一次求輸入蠻的結定點。闊他們訊到E都只判有一騾種費下用:f(絹D1州)=損5大f搖(D范2)暴=2E52D1D2目前點無法想定下啄,哪榆一個宗點將蹄在全敵程最郵優(yōu)策找略的給路徑嘗上。蜘第二嗓階段累計算慢中,5,2都應梁分別叮參加蘋計算(4)C1,C2,C3是第慨二次格輸入碑結點貨,他滲們到D1,D2各有嶄兩種娛費用擴。此艘時應季計算C1,C2,C3分別堆到E的最他少費役用。f(意C1斬)叼=m膠in先{C完1D滋1+款f盒(D舟1),C1變D2眠+費f(陣D2逼)}。計算合結果足是f(出C1援)=護C英1D陡1+夾f金(D利1)疲=8(D1如)同理C2的決掩策路最徑計狼算結恭果是C2認+D榨2+航E遍,節(jié)f沿(C偉2)逼=7。同理C3的決添策路煎徑計莫算結凝果是C3醋+D盒2+惱E,f(而C3桑)=什10。E8752D1D23738C1C2C35710(5)第青三次志輸入佳結點胸為B1,B2,而決焦策輸駁出結偶點可午能為C1,C2,C3。仿前遠計算吉可得Bl,B2的決柜策路去徑為紡如下壤情況拋。Bl:棍B1霜C1費用f(赴B1駕)=望5+淺8=外13,B2捏:B謎2C巴1費用f(慎B2佛)=璃6追+8霸=1配4,75B1B25867E8752D1D23738C1C2C357101314(6)第持四次知輸入勤結點激為A,決策銅輸出右結點訴可能忘為B1,B2。同理樹可得注決策湊路徑向為A:AB衛(wèi)2,費用5+損14倍=1甲9此時沿才正利式確籠定每束個子怕問題室的結殿點中陪,那躺一個馬結點進將在暗最優(yōu)夏費用混的路田徑上怒。子問撒題的矛決策談中,似只對標同一億城市救(結尼點)壇比較查優(yōu)劣串。而綠同一朗階段久的城玻市(雄結點左)的衰優(yōu)劣崖要由喇下一房誠個階陸段去薄決定光。75B1B25867E8752D1D23738C1C2C357101314A19752、數(shù)橋塔問汪題有形谷如下下圖所徐示的圈數(shù)塔呆,從量頂部跪出發(fā)將,在絹每一僚結點棄可以慌選擇溫向左提走或糊是向多右走回,一讓直走抄到底待層,野要求門找出客一條蓄路徑盆,使拘路徑禽上的遭值最男大。用暴力的方惱法,哪可以督嗎?這道饑題如索果用鄰枚舉妖法(涂暴力凝思想循),弱在數(shù)藍塔層驗數(shù)稍蔬大的也情況牢下(達如31),協(xié)則需陰要列第舉出鵝的路丸徑條蠢數(shù)將錫是一很個非明常龐瞇大的底數(shù)目此(2^失30狗=販10迷24顛^3斥>蛾1纖0^臨9=拘10億)功。試想互一下稱:拒絕暴力鞋,倡導和諧避~從頂輸點出環(huán)發(fā)時冷到底藝向左絞走還溪是向杯右走朗應取過決于院是從盟左走討能取易到最頁大值辛還是出從右渠走能擱取到浮最大怖值,栽只要擁左右孫兩道捕路徑屑上的捧最大暗值求協(xié)出來呀了才握能作祥出決勸策??梢娊Y,由綿下層涂的子胸問題焰可以暑得到麻上層夕的子顯問題褲,所濤以,昏可從召底層而開始卸,層模層遞像進,脅最后插得到篩最大晝值。結論腫:自蒜頂向維下的暫分析矩,自拐底向件上的牢計算昌??紤]彩一下側:21281921383429504959自底膠向上數(shù)計算自頂趕向下庸決策如果桿各個氏子問征題不符是獨榆立的壞,不慰同的驕子問嘩題的項個數(shù)鞋只是濤多項森式量肢級,藍如果癥我們味能夠保存姜已經(jīng)纏解決裙的子陡問題殼的答公案,而腳在需貢要的滅時候女再找搜出已兇求得秧的答產案,謎這樣交就可穿以避艱免大充量的損重復盯計算矮。由美此而半來的基本供思路殃是,碌用一類個表捎記錄腥所有糧已解據(jù)決的估子問季題的獵答案,不已管該巴問題卸以后滑是否叔被用儲到,挨只要批它被皺計算男過,月就將系其結昨果填柔入表英中。10遮.2動態(tài)膊規(guī)劃日的基身本思糾想動態(tài)浮規(guī)劃預的基輔本步匠驟動態(tài)妻規(guī)劃暑算法浴通常冰用于折求解爬具有脹某種銹最優(yōu)項性質蓬的問豆題。隊在這糖類問言題中易,可駱能會懶有許容多可級行解薄。每莊一個沖解都則對應渠于一回個值梢,我格們希納望找盞到具航有最關優(yōu)值鄉(xiāng)豐(最夢大值睬或最納小值錯)的乏那個踩解。冤設計革一個柴動態(tài)杯規(guī)劃墓算法軋,通瓣??韶氁园凑疽韵聨煄讉€錫步驟程進行帳:(1)找府出最鳥優(yōu)解就的性連質,往并刻用畫其謝結構饑特征搞。(2)遞殺歸地酷定義存最優(yōu)草值。(3)以自底史向上的方掃式計鏟算出聾最優(yōu)葛值。(4)根酬據(jù)計偉算最揉優(yōu)值牲時得況到的切信息喬,構浴造一刻個最褲優(yōu)解悲。其中橡(1)-蝴(3)步訓是動日態(tài)規(guī)度劃算豎法的融基本企步驟蕩。在見只需箏要求本出最愉優(yōu)值吵的情胖形,泰步驟便(4)可糖以省乒去。訊若需傻要求僻出問浙題的饅一個完最優(yōu)掉解,豎則必代須執(zhí)序行步潮驟(4)。鴿此時迎,在矩步驟是(3)中龍計算文最優(yōu)懶值時純,通及常需罪記錄陡更多未的信罰息,劫以便再在步桿驟(4)中愿,根盒據(jù)所嫩記錄襯的信皂息,氧快速磁構造碰出一求個最筆優(yōu)解皂?;救醪襟E動態(tài)市規(guī)劃峽問題限的特斯征動態(tài)犯規(guī)劃蛋算法區(qū)的有抵效性鑄依賴否于問轟題本撓身所冒具有屈的兩牲個重接要性體質:1、最龜優(yōu)子斗結構盒:當系問題鍛的最號優(yōu)解月包含泛了其皆子問擊題的鉗最優(yōu)艇解時攀,稱禽該問痰題具浪有最掃優(yōu)子泡結構條性質兩。2、重柜疊子孩問題裁:在螞用遞由歸算庸法自喪頂向嘉下解撈問題冊時,微每次音產生杏的子燦問題底并不忙總是父新問組題,憑有些滿子問健題被隱反復剖計算毫多次久。動悶態(tài)規(guī)例劃算林法正貢是利覽用了青這種羅子問叮題的滑重疊很性質威,對紐奉每一嶄個子喜問題配只解閥一次哭,而秧后將漿其解授保存氣在一基個表卡格中爆,在證以后粘盡可先能多階地利京用這摩些子換問題纏的解片。練習游戲憑幣迷宮赤驢小兔伏的棋濕盤10只.3最長單有序千子序壁列I012345678Num[I]147258369子問生題的襲構造子問伐題——剛“求以ak(k=欣1,輕2朗,尋3…日N)為繡終點飲的最斗長上汗升子啞序列軍的長病度”雖然勺這個召子問傭題和扶原問汪題形役式上謀并不踩完全萄一樣頑,但斜是只感要這N個子父問題石都解扯決了燃,那尚么這N個子除問題劫的解踏中,飄最大榮的那散個就喂是整騙個問蓄題的鋼解。該子胡問題蝴可以聽遞推爛求解假定Ma遞xL礙en(k吸)表示驢以ak做為畜“終殼點”循的最戶長上陰升子斥序列駕的長括度,憤那么權:Ma賞xL乖en(1插)鏡=爸1Ma招xL探en(k叨)介=頸Ma拖x滴{Ma姓xL殼en(i段):1<衛(wèi)i君<飽k且ai<ak且k≠洲1罩}金+咱1實例沉:I012345678Num[I]147258369F[I]123234345所求偵最大優(yōu)值是F[運n]嗎?922hd軍u1軋16估0Fa時tM治ou嬸se獅'sSp它ee曲dSa掠mp雅le者I隊np絞ut60暈08紙1墨30司0偏60本00抬2謙10留0黎50按0槳20嘉00會1走00騙0碧40合00洗1突10種0真30主00做6顏00著0哨20洋00請8疲00箭0形14社00風6挎00疫0彩12捷00黨2糟00豆0鏈19沈00Sa井mp歉le價O裁ut省pu鍛t44597題目墓分析毛:設Mi況ce真[i襪].扇W表示缸第i只老緣瑞鼠的冒重量輪,Mi止ce迅[i色].堂S表示批第i只老六鼠的警速度踐。我們啟先對Mi屢ce進行固排序柴,以W為第搖一關武鍵字喉,從冠小到尖大,S為第求二關隱鍵字征,從敬大到項小。設f[易i]為Mi端ce云[i討]至Mi跡ce決[n侍]最長原的序藏列長分度。膊考慮賄某一飛個f[嘆i],則有晃:f[近i]賄=燃m話ax倍(f[錄i]就,煉f[維j]畢+1削)足(1鴿<=訂j<累i,且Mi洽ce向[i溫].喝W>物M緊ic惹e[榮j]浮.W,Mi和ce崇[i睡].輕S桿<俯Mi親ce襖[j雪].鈴S)其中謊,初墓始條度件為f[現(xiàn)i]碗=1約(膛i=根1,驅2貨,復..菌.,算n零)。10風.4最長景公共籌子序診列一個搶給定析序列捏的子序例列是在起該序開列中允刪去茫若干奸元素初后得肢到的教序列督。給定鋼兩個溪序列X和Y,當烘另一恭序列Z既是X的子斧序列飯又是Y的子矩序列落時,獨稱Z是序滾列X和Y的公共響子序香列。例如糾,若X=小{A,B,C,B,D,B,A},Y=臥{B,D,C,A,B,A},則序列{B,C,A}是X和Y的一待個公熔共子淺序列阻,但柱它不尋是X和Y的一裳個最悉長公崖共子繡序列挎。序列{B,C,B,A}也是X和Y的一休個公勞共子溪序列吸,它爛的長悟度為4,而靈且它守是X和Y的一供個最井長公跟共子脅序列賄,因監(jiān)為X和Y沒有抽長度場大于4的公算共子香序列渾。給定2個序技列X和Y,當另畜一序平列Z既是X的子弄序列靜又是Y的子墻序列字時,鋸稱Z是序斧列X和Y的公共尿子序勵列。問題挽:給定2個序催列X=灣{x1,x2,…息,xm}和Y=巨{y1,y2,…必,yn},找出X和Y的最長鳥公共態(tài)子序返列。最長順公共休子序淡列典型虹應用計算煎兩個蚊文本鄙的相移似程擠度生物視學上告的基袍因比乳較人類風基因們組計尖劃的咱研究四成果一個杜細胞投核內邊的23個染狂色體甘含31億個臣核苷展酸(守只有A、G、T、C四種研);基因驅數(shù)在3萬-3龍.5萬,唉每個蟲基因松有幾透千個劃核苷翻酸;人與縫人之梨間有99抹.9綢9%的基廢因序桌列是劣相同據(jù)的。生物組學家搖對鑒挖別人伯類基致因和漏確定決他們餃的功斬能很換感興低趣。范因為戶這對職診斷僚人類紗疾病焦和開屋發(fā)新繼藥很再有用抖。一旦公一段暗基因濾被確映定后姑,接杏下來肆的工句作便尚是確指定它去的功悼能,催這個泡工作鏈一般毀是通淡過搜絡索基因河數(shù)據(jù)甚庫來進些行的挽。數(shù)傭據(jù)庫拼中存您儲了即很多摸基因毫序列姐及其惠相應簡的功捉能,將返徒回與后新基昨因序援列功汽能相賞似的棒已知犬序列。生物銳學家魔們假斤設類要似的喉基因健表示治類似跑的功歷能。憐確定陳與待寇研究戰(zhàn)基因塔最相鴉近的侵一個測已知食基因趣對生守物試元驗非傍常必辦要。那么糠如何漂確定咐兩個張基因笛序列面的相疫似性雞呢,醬這主引要是辰通過娃相似斤性函暗數(shù)來旅判斷傍的。比如抵已知傘兩個堤序列AG發(fā)TG灶AT挨G和GT嘴TA嬸G,他們妖有多禍相似帥?一底個判燈斷的狀方法跨是在被兩個亦序列腔中分襖別插守入若冶干空起格使猜得兩殖序列夾的長烘度相筒等,AG航TG名AT嬌-華G-存GT腿-鉤-濫TA痰G這種炮匹配搏的函塘數(shù)值域是(-純3)陜+5猛+5軋+(糞-3帥)+耐(-侵3)戶+5孫+(舌-3佛)+級5=行8窮舉谷法對X的所浸有子繭序列棄,檢避查它落是否意也是Y的子呈序列陶,從緞而確涂定它宋是否御為X和Y的公呢共子漲序列撫。X的所叨有子靈序列怕都檢逗查過旬后即淹可求假出X和Y的最粱長公幻玉共子呆序列倦。X的每嗚個子撇序列端相應抹于下吹標集{1僑,2殼,.悼..唱,m片}的一街個子辜集。泄因此美,共往有2m個不質同子妄序列脫,故窮舉養(yǎng)搜索雜法需豆要指吹數(shù)時果間槳。而事融實上眠,最長芳公共盛子序償列問邪題具猶有最客優(yōu)子忠結構距性質最長眉公共埋子序求列的監(jiān)結構首先慈引入前綴的概鐘念:給定鴿一個沒序列X=區(qū){x1,x2,…足,xm},對i=環(huán)1,透…,欺m定義X的第i個前扒綴為Xi={x1,x2,…朱,xi}例如完:X=汗{A乳,喘B,魔C濱,鍋B,英D,功A,掙B}則X4={恐A變,B庸,蔬C,漸B題},X0為空畢序列最長否公共活子序紛列的睛結構設序埋列X=域{x1,x2,…鞋,xm}和Y=報{y1,y2,…視,yn}的最訊長公億共子鉗序列猛為Z=硬{z1,z2,…陶,zk},則(1晴)若xm=yn,則zk=xm=yn,且zk-怎1是xm-狗1和yn-嘩1的最岡長公役共子肆序列愛。(2烏)若xm≠yn,則zk≠xm蘊涵Z是xm-鐮1和Y的最介長公健共子沈序列時。(3市)若xm≠yn,則zk≠yn蘊涵Z是X和yn-福1的最舊長公朗共子蹈序列降。由此低可見拜,2個序怠列的咽最長榆公共難子序吳列包徹含了龜這2個序邊列的貞前綴氧的最鍬長公香共子瞧序列列。因羊此,田最長谷公共堪子序產列問遷題具聽有最優(yōu)脾子結絞構性閃質。如X=微{A伐B件CB}四Y=材{B盾D趴C慈AB}喜Z=酬{B狗CB}如X=浩{A良B速C遣BD}障Y=歉{B志D尤C裕AB}堂Z=悟{B穗CB}如X=封{A俘B企CB}賴Y=荒{B雖D證C爪BA}送Z=鄉(xiāng)豐{B守CB}子問襖題的鋪遞歸恐結構由以集上三斷個性蛇質可連知,路要X=近{x樣1,核x2孩,…有,xm}和Y=地{y港1,滿y2猛,…膽,yn}的最圈長公飾共子蒸序列棚,可淹能要偏檢查柔如下周子問渾題:若xm=yn時,喇我們糟就要關找出Xm-貍1和Yn-虎1的LC鳴S,將xm=yn拼接茂到這血個LC睜S后,缸就得印到Xm和Yn的LC牲S若xm≠yn時,悲我們垂需要暢解決株兩個童子問繳題:找出Xm-聾1和Yn的LC層S,和Xm和Yn-害1的LC罵S,取丘兩者瞞中較宣長的嬌作為Xm和Yn的LC相S}子問軟題的慢遞歸畝結構由最縮慧長公拒共子蕩序列朱問題嬸的最誘優(yōu)子就結構柳性質護可知圖,要蝴找出X和Y的最計長公書共子歲序列杯,可溫按如戶下方筐式遞榜歸的辟進行融:若xm=yn時,LC孩S(恐Xm,Yn)=期L壞CS半(Xm-句1,Yn-襖1)+代{xm}若xm≠yn時,LC澤S(罩Xm,Yn)=牢m步ax樣{L補CS盟(Xm-旁1,Yn),濱L掏CS辣(Xm,Yn-趙1)}ma燥x{LC瓣S(頸Xm-梳1,Yn-積1),LC哲S(棄Xm-吳2,Yn)}ma征x{LC析S(供Xm-租1,Yn-截1),搞L麥CS繭(Xm,Yn-技2)}子問扮題的蜂遞歸強結構由最頂長公裝共子伏序列料問題嗚的最芽優(yōu)子孟結構動性質利建立離子問擇題最窮優(yōu)值作的遞蒸歸關布系。乏用c[宅i]梁[j端]記錄今序列Xi板={棟x1蠶,x吸2,伶…,刺xi克}和Yj={匙y1屑,y融2,跡…,yj}的最老長公雁共子竄序列賽的長柔度。洽由最功優(yōu)子籃結構瘦性質葉可建扇立遞層歸關經(jīng)系如宜下:計算親最優(yōu)萬值由于稅在所泉考慮癢的子煮問題敞空間睬中,扇總共柔有θ(電mn)個不遞同的交子問漲題,稈因此雅,用初動態(tài)膨規(guī)劃幻玉算法博自底念向上雕地計以算最礙優(yōu)值嬸能提敏高算絞法的叨效率姻。輸入網(wǎng):X=勺{x1,x2,…哨,xm}和Y=嶼{y1,y2,…廈,yn}輸出賤:數(shù)組c:c[脫i]江[j談]存儲Xi化={漁x1,x2,…紀,xi}和Yj={汁y1,y2,…錄,yj}的最束長公現(xiàn)共子橡序列據(jù)的長德度算法邊:對i=運1到m做對j=恥1到n做若(x[污i]巾==音y[吉j]澡){c殘[i莖][許j]滔=c他[i炊-1須][仿j-課1]開+1扒;}否則板若c[慕i-陡1]牢[j乖]>賓=c盯[i陷][助j-重1]{c釘[i諒][觀j]小=c艘[i恨-1訴][脖j]牛;}否則{c逃[i墻][的j]鞭=c罪[i耽][秧j-吼1]殺;}LC貧S(磨Xm筆,Y鑼n)=LC彈S(蒼Xm冰,Y譯n)辛+{側xm}0000000000000例:X=紀{A異B住C呈B抗D若A生B副}吳Y穗={揭B觀D障C登A椒B計A}0輕B嶄D污C需A顆B近A0ABCBDAB{}{A緣瑞}{A政B}{A努BC扣}{A拾BC拒B}{A鋒BC朵BD貓}{A齒BC降BD撿A}{A扒BC翅BD素AB儉}{}映{笛B}衫{B宿D}蟻{B訴DC道}蕉……0000000000111011112201122220112233012223301223340122344例:X=燃{A間B魔C鵝B趟D遍A聽B侄}速Y啟={麻B退D駕C牧A藝B王A}0牢B唉D硬C敵A睛B階A0ABCBDABvo永idLC愈S(i榨ntm,in捆tn,ch系ar條*蛙x,ch霸ar郊*拔y,訴c母ha憐r宿*z掌,in第t**屑c){/蒸/不用杰數(shù)組b,構造綢最優(yōu)恒解的適非遞伴歸算嗽法in駕ti=賊m,墾j=制n;in澤tk=銷c[示m]擋[n恩];脈//最長諒公共疼子序裝列的貍長度wh歸il剩e(過i>雙0&姓&j柳>0項){i妻f商(x豎[i該]=悅=y撿[j戰(zhàn)])道{z悄[k舒--肌]=破x[蠻i]戚;趕i-奏-;狡j-伴-;希}el擁se貿i閑f投(c裕[i哥-1從][歪j]陡>=刊c[肯i]襪[j續(xù)-1意])慈i呆--仗;el低se鐵j版--女;}構造割最長歉公共商子序蠢列10恭.5你0-爆1背包堪問題給定n種物虧品和逮一背同包。叛物品i的重種量是wi,其價液值為vi,背包睡的容慶量為C。問應姑如何攜選擇秤裝入釋背包禁的物怕品,持使得舟裝入轟背包潛中物珍品的團總價寇值最翼大?目標鋪:使月裝入程背包驅中物數(shù)品的遷總價聯(lián)值最昌大約束不條件雙:裝潔入的選物品均總重懼不得遭超過C海盜私盜寶感問題海盜衛(wèi)有一揭背包紡,最抽大容飄積為9,現(xiàn)寒有5件寶報物:割體板積si分別貝是2、3、4、5和4公斤價值vi分別更是3、7、5、9和8請給仆出裝搬載方烈案,嘴使背閃包價充值達挎到最塊大。S1=2v1=3S2=3v2=7S3=4v3=5S4=5v4=9S5=4v5=8C=礙9一開始粘,見括物品胸就裝憂,物款品1、2、3全裝虛入,乏背包咳裝滿能了,繞得到穗背包吐總價徹值為15,這哲是不位是最超大價河值呢陵?S1=2v1=3S2=3v2=7S3=4v3=5S4=5v4=9S5=4v5=8考慮斜只有櫻前三競個物獵品的界情況物品4該不漲該裝有?有歉兩個旗選擇滑:(1)不習裝,皺背包陜價值脫不變奏,為15S1=2v1=3S2=3v2=7S3=4v3=5S4=5v4=9(2)裝入屬,它蹤蝶占去疊的體翻積為5,得緊到價餓值為9,剩下根容積4最多局可以軋裝下圓多大饑價值辟?考慮海只有渡前4個物暗品的冤情況這是象一個n=均3(從前秩三個啦物品匪中選嶼擇)澤,容構量c=咽4的子亮問題素。目前紅最優(yōu)靠:裝娛入物成品2和物汽品4,總宰價值棒為16若已喇知這禮個子亞問題黃的解壁是:裝物彼品2,得篩價值染為7。S1=2v1=3S3=4v3=5S4=5v4=9(2)裝入敏物品4,它剛占去笑的體她積為5,得竭到價衛(wèi)值為9,剩下各容積4最多哭可以構裝下我多大袖價值蹤蝶?S2=3v2=7S1=2v1=3S3=4v3=5S4=5v4=9S5=4v5=8考慮5個物傘品的略情況S2=3v2=7物品5該不珠該裝康?(1軍)不裝杰,得哭到背省包價村值仍泥為16(2)若丑裝入箱物品5,占吉用體惹積為4,得幻玉價值剩為8,背脂包剩毅余容例積為5。如何謎在前4個物磁品中晃選擇家裝入燒,使償背包偵價值千最大薪化?這是n=付4,百c=拆5的一單個子凡問題盡。若得病到該麗子問鑰題的芝解為紗:裝入寫物品1、2,得脾價值泡為10S1=2v1=3S3=4v3=5S5=4v5=8考慮5個物俯品的滅情況S2=3v2=7目前敲最優(yōu)走:裝王入物途品5和1、2,總座價值飲為18聞>1王6S4=5v4=9子問賞題的套構造當n=卷1時:只有械一個巨物品府,s1幫=2仍,v寫1=命3若背包覺容量c=努0、1,則無叼法裝災入物刃品1,得得到背訓包價庫值為0若背蛛包容頭量c=滅2、3、4、5、6,7,8,9則可投裝入困物品1,得能到背歇包價鞭值為3。C[題1]秀[0單]=師0勺C[媽1]尤[1系]=必0召C捉[1亡][撕2]撫=3尾C先[1雀][渠3]關=3文C戰(zhàn)[1吸][油4]普=3套C[懷1]講[5咐]=要3成C籃[1灣][演6]溪=3羞C看[1拼][貨7]秋=3系C虜[1申][橋8]疏=3笨C叉[1斧][封9]績=3考慮播兩個尿物品俗的情曠況當n=刃2時,蜂有兩益?zhèn)€物擊品,s1緣瑞=2墨,v口1=造3,s2評=3擋,v拐2=軟7若背包毫容量c=畢0、1,得到碗背包農價值沾為0若背吼包容片量c=淋2,可裝船入物插品1,得就總價添值m[武2]端[2部]=謙3若背語包容謠量c=蹄3,m[裁2]賴[3娘]=枯7若背饞包容洗量c=慰4,艙m嚇[2稈][絡4]斬=7若背桑包容傳量c=燭5,騎m導[2戴][悅5]經(jīng)=1掘0若不裝物品2,m[盾2]止[3棍]=猶m[略1]柔[3走]=亡3若裝菜入物萄品2,m[棒2]淡[3欣]=粱v[腰2]急+m思[1有][直3-體3]集=7前+0脹=7m[滿2]責[6硬]=之10彼m[暮2]集[7凡]=顏10m[河2]賺[8少]=腦10景m汁[2架][欲9]虛=1占0若不裝物品2,m[傳2]醋[5調]=嘆m[效1]步[5貝]=術3若裝恰入物險品2,m[興2]壺[5鞭]=涉v[融2]兵+m許[1冷][瘦5-嗽3]幸=7數(shù)+3左=7遞推脹關系誘的建漠立用m[棄i]傻[j夏]來表慈示從稍前i個物世品中主選取被物品惹裝入違容量隆為j的背持包所糠得的炊最大炕價值會。則鵲要尋雁求的俗是m[董n]殲[c慮]。m[鄭i]補[j盾]是以泡下兩鄰個值諸的最悔大值驚(1)m[廊i-素1]新[j敏]:即不鍬裝入載物品i,背包副價值潤與僅蒙考慮蜘前i-翅1個物總品時釋情況判相同犧;(2)v[伍i]吹+m嬸[i盟-1版][吼j-退s[簡i]扁]:即裝俱入物種品i,再從松前i-談1個物躺品中斯選取滲,使茶背包輔剩余倒容積j-棋s[次i]價值售最大增化。構造笛價值樂數(shù)組S1=2v1=3S2=3v2=7S3=4v3=5S4=5v4=9S5=4v5=80123456789000000000001020304050背包規(guī)容量j從前i個物里品中蒸選取S1=2v1=3S2=3v2=7S3=4v3=5S4=5v4=9S5=4v5=8012345678900000000000100333333332003771010101010300377101012121540037710101216165018背包墾容量j從前i個物塔品中據(jù)選取構造改最優(yōu)顛解012345678900000000000100333333332003771010101010300377101012121540037710101216165003781011151618因m[免5]湊[9南]>井m[電4]經(jīng)[9吊],物品5被裝淋入,暈剩余c=腥9-甩s5=5因m[怠4]紛[5句]>層m[使3]護[5協(xié)],物品4被裝立入,煙剩余c=康9-撒s4=0vo皮idKn藏ap星sa戚ck購(i曾nttv[劑],粗in禁tw[笨],執(zhí)in旬tc,隔in領tn,消fl喝oa塵tm[竿][那N]){/攪/構造冰價值蛋數(shù)組min序ti,姓j吳;fo勵r(躁i=0需;襖i<相=n薦;傘i+蟻+)叼m[峰i]目[0釘]=應0;fo牙r(摔j=0哄;蛇j<撲=c腫;伏j+史+)喇m[蜻0]瓶[j激]=鼓0;fo蘿r(碗i=1顛;鳴<n案;搞i+桿+)//計算圣前n-欺1行{fo旱r(挪j=1期;綿j<w[格i];大j偶++袋)m[半i]藝[j]=也m異[i恐-1道][憑j]政;fo俗r(胃j=w[壞i];角j清<=威c;橫j典++儲){t奧=v[您i]+減m冤[i箱-1卷][雄j-窮w[砍i]困];if禍(童t永>采m[蛇i-違1]評[j懇])m[斯i]行[j]=破t;el賤sem[庫i]捆[j]=膀m[樓i-酬1]附[j子];}}//計算最最后趴一行腔的m[柄n]電[c]t=v[菜n]+災m先[n熟-1井][犁c-抬w[圾n]做];If巡壽(森t知>豪m(xù)洞[n糊-1杏][鴉c]游)m[蓬n]壺[c]=裳tel宿sem[銅n]南[c]=幣m[侵n-農1]踐[c泄];}Hd亭u1碧17哥6免費雷餡餅輸入關輸出輸入齒數(shù)據(jù)惰有多筑組。常每組芽數(shù)據(jù)駝的第狐一行勇為以禽正整洪數(shù)n(漢0<旦n<才10餐00族00鳥),表伸示有n個餡漂餅掉仍在這嘴條小徐徑上桐。在執(zhí)結下果來的n行中深,每睜行有屆兩個瓜整數(shù)x,禾T(譯0<磚T<格10螺00禿00負),表示鐮在第T秒有縱一個亡餡餅險掉在x點上杜。同匯一秒戚鐘在域同一箱點上役可能深掉下絨多個壞餡餅誕。n=雄0時輸炒入結鏟束。輸出譯:每業(yè)一組呈輸入義數(shù)據(jù)薄對應吧一行蚊輸出職。輸疲出一橋個整無數(shù)m,表尼示ga牽me李bo民y最多槳可能案接到m個餡逐餅問題攝分析(1)輸速入信歸息包洲含這暑個時趴刻和貧位置薪坐標頌,如廊何存讓儲這唇些信凡息?癥還有扯它不均一定扭按時丈間順鑰序輸壟入的鈴問題(2)子汽問題性的建踢立可以鼓正推屢:第1秒能牛接住層幾個物?第2秒能獨接住封幾個….也可扒以倒燒推:最后膛一秒莊能接璃住幾啄個、呢最后2秒能青接住徑幾個叮?….打.還有勤第i秒他夕所處樣的位句置也吳影響肆結果閉,所某以子犯問題嫁是二映維的待。輸入奪樣例111址41繼51放62恒72滲72寨82棗81暈72叮81桌73毅8輸出脂樣例梅:4實現(xiàn)包分析(1克)初始朵化先把敏每個蠶時間劃點每值個位趨置上致降落寶餡餅時數(shù)填李充到佛二維核數(shù)組喂中,舒作為傷初始朗值;貪同一繩時間羅同一毫地點員降落議多個港餡餅悅它是花可以勻同時參得到甜的;同時提記下?lián)踝畲笄臅r刻ma資xT(2渣)遞推溫:倒推拖正推衣都可異以,患正推顆的話角需要憐前四疤行的京特殊嘉處理克。因丟為一塌開始挽他在回位置5,第腦一秒潤根本孕到不困了位賊置0.貼.3、7.善.1得0,第偶二秒勾也根踐本到識不了弊位置0.留.2、8.岔.1黎0蘿//第三器秒也釀到不交了位吧置0.匯.1、9.溉.1壤0,第妙四秒狼到不荒了0、10。倒推源的話弟,不菠需要頃對這痛四行悔進行砌特殊繞處理留,最消后輸規(guī)出t[性0]衣[5泰]d的值叮就可熟以了柱。故續(xù)本狡例采踩用倒驚推初始丹化000000000000001112000000000023000000000010000000站1幕2貼3羊4騙5辮6爛7芹8銳9且1001234567讀入卷餡餅埋個數(shù)n和n個餡鞭餅的鳴下落王時間正和位銷置,傳初始彼化二驚維數(shù)英組,淋餅記做下最胡大時多間(楚即循章環(huán)時縱的最驅大行虛號)子問彈題的隙構造子問似題:璃最后1秒最身多能華接住個幾個售,最拌后兩峰秒、話最后當兩秒….還與謀當時猾他站丘的位質置有東關妖子粗問題在是二絮維的度:T[廊i]促[j]表示散第i秒若吊站在依位置j,從王第i秒之淘后能的接住只多少術個餡賴餅T[同i]講[j]表示續(xù)第i秒若趟站在業(yè)位置j,從拾第i秒之上后能唉接住信多少巨個餡挨餅T[逐i]蔽[j]:若第i+乒1秒站改在位棒置j,那之么第i秒他丑可能鑒到達午的位禽置是j-宋1,鳴j,究j+頓1,去那惹個位柏置接逼到餡膜餅最浮多?T(予i,驗j-禁1)T[注i]舅[j]縫=T資[i司+1剩][裁j]冰+m務axT(調i,倉j)T(呼i,艇j+磨1)再考千慮一雄下j=賽0和j=嗎10的情麥況即聽可000040000000001146400000000034000000000010000000閱1陽2枯3諸4蘿5欺6酬7屬8咐9扭1001234567遞推Hd屋u1傳46街6計算鴨直線弟的交躍點數(shù)問題羨描述:平面削上有n條直狡線,棒且無昂三線歷共點耗,問隱這些靈直線討能有阿多少疊種不承同交猾點數(shù)緒。輸入扛:n(n<所=2男0)輸出:每懂個測銀試實廊例對搭應一賞行輸齊出,掠從小創(chuàng)到大嬌列出塊所有恭相交防方案但,其布中每烤個數(shù)戀為可缸能的奮交點深數(shù)。樣例粱輸入4樣例雅輸出0塵3智4約5壤6初步湖分析:我們求知道:n條直灰線互晶不平諸行且文無三標線共繞點的祖最多圈交點士數(shù)ma槐x=妥1+嚷2+藥……荷(n巖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電力系統(tǒng)新技術試題及答案
- 2025【合同協(xié)議范本】石材購銷合同
- 2025專業(yè)版果園承包合同協(xié)議書
- 2025【設備租賃合同范本】設備租賃合同示例
- 預案編制與管理(隋旭)
- 2025個體工商戶與金融機構借款合同協(xié)議
- 福建師范大學《古文字學與古代漢語》2023-2024學年第一學期期末試卷
- 河北正定師范高等??茖W校《第二外語(日)(三)》2023-2024學年第二學期期末試卷
- 鄭州西亞斯學院《臺詞表演I》2023-2024學年第二學期期末試卷
- 貴州警察學院《轉化醫(yī)學與職業(yè)發(fā)展》2023-2024學年第二學期期末試卷
- 人事行政管理培訓課程
- 《營養(yǎng)與肥胖》課件
- 綠色生態(tài)中小學生校服
- 全宋詞目錄完整版本
- 支付寶解除賬戶支付申請書
- 桂林電子科技大學國防科技泄密事件報告表
- 單原子催化劑
- 特許經(jīng)營管理手冊范本(餐飲)
- 手術室護理實踐指南之術中保溫(手術科培訓課件)術中低體溫的預防
- 市場管理能力筆試測試題
- 學習探究診斷 化學 必修二
評論
0/150
提交評論