网站大量收购独家精品文档,联系QQ:2885784924

讲义0建中首页.PDF

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
動態規劃 Dynamic Programming 之前曾說過分而治之的概念便是藉由解決子問題來解決母問題。動態規劃跟分而治之有幾分 相似,但未必是藉子問題而解決母問題,而是藉相關問題的答案推導出欲求問題之答案 。不過為 了方便,通常還是以子問題、母問題稱之。  特色 動態規劃有以下幾個特點: 1. 重複子問題 所謂重複子問題是指 ,常常一個子問題會被多個母問題所用到。所以動態規劃會藉由記下子 問題的答案來加速。 2. 狀態與轉移 狀態與轉移是動態規劃中重要的一環。狀態其實就是一組數字,能夠唯一的描述我們所要求 的子問題,狀態與問題可以視為一個一對一的函數。而轉移其實就是一條式子,這個式子描述了 我們如何從一個或多個狀態的值推導出一個新的狀態的值。 3. 最佳子問題 一個問題若要用動態規劃解決,則他必須有最佳子問題的性質。也就是說,對一個最佳解而 言 ,他的任意一個局部都是該子狀態的最佳解 。 4. 無後效性 若轉移到子狀態時的決策會影響到子狀態轉移到母狀態時的決策選項 ,我們說這個這組狀態 有後效性。我們無法在一個有後效性的狀態下定義最佳解,自然無法符合最佳子問題。所以當狀 態有後效性時 ,我們就可能得以別種狀態來描述問題。  實現 動態規劃通常以下面兩種方法來實作: 1. Bottom - Up Bottom - Up 顧名思義就是由下而上的DP 。在計算一個狀態之前,先將所有他會用到的狀態 算出。如此一來,在計算新的狀態時只需直接取值即可。這種作法的好處是通常可以直接用迴圈 來跑,所以不會有太大的常數。缺點是會計算到一些可能不會用到的狀態。 2. Top - Down Top - Down 與Bottom - Up 是個完全相反的概念。他是在計算一個狀態時,如果發現有某個 需拿來轉移的狀態尚未被計算,就遞迴下去先行算出該子狀態的答案並記起來。相對Bottom - Up 這種作法有時比較好實作,而且沒用到的狀態也不會被計算到。然而呼叫遞迴會消耗時間,所以 在狀態幾乎都用到的狀況下,此種方法會比Bottom - Up 還慢。另外,使用這種方法有時需注意 遞迴過深的問題。 DP 時到底要使用哪種方法見仁見智。只要寫得順就是好方法。  經典基礎應用 1. 總和序列 《最大子矩陣(93 北市賽problem 3) 》TIOJ 1122 給你一個n x m 的矩陣,每格上皆有一值。求總和最大之子矩陣其總和有多大? 1 2. 組合計數 《名偵探蚵男(NPSC2003 初賽problem F) 》TIOJ 1043 給你n 種數字,求有幾種湊出m 的組合? 《N 箱M 球 (雄中公假社08 入退社考) 》TIOJ 1291 求N 個相同的箱子放入M 顆不同的球的方法數%1000000 是多少? 3. 背包問題 《Striker 的祕密 (第一屆快樂暑假營第三次練習賽) 》TIOJ 1387 有n 種魔石,每種魔石的各有其重量w 、魔力值m 、數量c 。 現在你最多可以攜帶T 的重量。求魔力值總和最大能是多少?  例題 《兔子跳鈴噹》TIOJ 1019 給你 n 個鈴鐺的水平位置 。你每次可以從第x 個鈴鐺跳到第x+1 或第x+2 個鈴鐺。 求從第一個鈴鐺跳到第 n 個鈴鐺所需的最小移動水平距離總和為何? 《小豬Piggy (TOI2004 初選problem 2) 》TIOJ 1196 給你一張n x m 的地圖,每格會有一個值或是X ,X 者不可通行。 現在你每次只能往右或往下走,求從最左上走到最右下時路徑上格子總和值最大是多少? 《Ragnarök (第一屆快樂暑假營複習賽) 》TIOJ 1411 給你一個用-1, 0, 1 組成的序列。請求出最長的一段使該段的總和為0 。 《A 遊戲 (96建中校內資訊能力競賽 problem 6) 》TIOJ 1029 給你一個序列,現在有兩個人輪流把序列最左端或最右端的值拿走。假設兩個人都是絕頂聰明 的人,且都希望自己拿到的總和盡可能比對方多。求先手與後手最後總和各是多少? 《國王烏龜的接駁車(第三屆快樂暑假營第二次練習賽) 》TIOJ 1623 有n 隻烏龜,搭往皇宮的專車有k 班,每台車重量負荷都一樣是m 公斤。依序給你每隻烏龜 的重量wi

您可能关注的文档

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档