• 沒有找到結果。

臺北市立建國高級中學

N/A
N/A
Protected

Academic year: 2023

Share "臺北市立建國高級中學"

Copied!
1
0
0

加載中.... (立即查看全文)

全文

(1)

演算法 與 資料結構 Algorithm and Data Structure

- Greedy 貪婪法

Greedy

哈哈!這無疑是最符合人性的演算法了!您一定也認為對於短視近利的人類,貪婪而無腦的 選取當下看起來最佳的情況是非常容易的吧!如果你那麼想,那可就錯了XD!正確的貪婪 法的確能讓我們減少不少coding的複雜度,通常也能是時間複雜度大幅提升,但greedy其 實是一個很嚴謹有時候甚至是很不容易發現的,一般都要嚴密的證明他的正確性才能用的安 心而無後遺症!(approximation algorithm則是例外,只要有不錯的bound即可)

刺激的題目啊 XD

當然……也不能把所有題目都列出來,否則之後看到就沒樂趣啦!

所以如有缺漏……我可沒有要說盡請見諒,我要說那一定是我故意的XDrz!

題目一 工作排程Job Scheduling I

給定n個工作,以及每個工作開始與結束的時間,一台機器同時只能執行一個工作。問在一 台機器上,最多能執行的工作友幾個?是哪幾個?

題目二 工作排程Job Scheduling II

給定n個工作,以及每個工作的截止期限和超時的處罰。在每個工作需要1單位時間的情形 下,問至少會得到多少處罰?以及如何做才能得到最少的處罰?

題目三 工作排程Job Scheduling III (NPSC2005決賽, 誰先晚餐) (TIOJ 1072)

有n個人要吃晚餐,當然大家可以同時一起吃,但廚師一次只能做一道菜。給定每個人要吃 的菜需要做多久,以及那個人需要吃多久,試問至少要多少時間,才能讓全部人都吃完?

題目四 工作排程Job Scheduling IV (ACM 11269, Setting Problems)

有n個工作,每個工作分為兩部分,必須前一部分執行完畢才能進行後一部分,而機器只有 兩台,一台負責進行前段的工作,另一台負責進行後段的工作。給定每個工作的前段以及後 段分別需要花費的時間,試問最少需要多少時間才能執行完所有工作?

題目五 分數背包Fractional Knapsack

有n樣物品,每個物品有其價值和重量。現在你要用一個最多可以裝載重量w的背包裝這些 物品,物品可以切割,試問最多可以裝多少價值的東西?

題目六 對對碰 (89年全國賽)

已知每台登山纜車可坐2個人。現有n個人要搭乘纜車上山,給定n個人的體重,為了安全 起見,求一種配法讓纜車承受的最大重量越小越好。

題目七 寵物雞 (2005 TOI初選)

給定n種食物的熱量以及保存期限。每1單位時間能餵食1樣食物,每單位熱量可以讓電子

建中資訊培訓講義 (七) - by kelvin

(2)

寵物雞增加1公斤體重,而不可以餵食超過保存期限的食物。如果有1單位時間沒有餵食,

則體重減1公斤。問在時間t結束後,電子寵物雞最大可能體重為多少?

題目八– Barn Repair (USACO section 1.3)

有n個牛欄,其中某些牛欄內有牛。現在希望用若干塊連續的木板,把有牛的牛欄封起來,

但礙於現有材料,只能用m塊木板,但每塊的長度可以是任意長。現在的問題是,給定n, m 以及哪些牛欄中有牛,試問需要使用的木板總長最少為多少?

題目九 哈夫曼碼Huffman Code

考慮壓縮一個純文字檔案。壓縮方法是將每個字元用一串0和1組成的binary code代替,但 任何一代表字母的binary code,不能是另外一個binary code的prefix。(否則無從區分)

假設知道一個檔案每個字元出現的次數,請設計一個對應方法取代每個字元,讓壓縮後的檔 案長度最短。

Example:

字元/出現次數 ‘a’/5 ‘b’/3 ‘c’/4 ‘d’/9 ‘e’/6 原本二進位碼 1100001 1100010 1100011 1100100 1100101 其中一種最佳的對應方法:

新的二進位碼 10 000 001 01 11 這麼做的檔案長度是2*5 + 3*3 + 3*4 + 2*9 + 2*6 = 61 bits。

大魔王出來了!

以上是一些比較基本的題目或一些經典題型(還有一些雜魚XD),接下來……讓我們來看 一點真正威力十足,而且美麗無比的greedy吧!(一樣,這邊略去了一些我覺得很棒的題目,

因為這些題目非要自己碰到,想了很久,然後豁然開朗地發現它是greedy才美妙啊!)

題目一 搭帳棚問題 (2007 TOI二階模擬考)

有n個攤位排成一條線由左至右,每個攤位有各自的寬度。現在預計要做p個相同寬度的帳 篷,除了遮蔽的攤位總寬度不能超過帳棚寬度外,每個帳篷最多只能覆蓋q個連續的攤位,

並且每一個攤位必須都只被一個帳篷覆蓋(不能橫跨兩個帳棚)。

給定每個攤位的寬度,求這p個帳篷的最小寬度。

題目二 Enlightened Landscape (CEOI 2000, Enlightened Landscape)

在一個山稜線上架設了一條線,我們希望在上面放置若干個燈泡,使 得山稜線上的每一點都能被照亮。

如圖,給定山峰折線的n個頂點 (xi, xi),以及線路高度t。試以儘量少 的燈泡(如左圖中的B1,B2)照亮整個山巒。

建中資訊培訓講義 (七) - by kelvin

(3)

題目三 Mirror (BOI 2001, Mirror)

在一個m*n的盒子裡(高度不重要),每一格(總共m*n格)都可

以放一個45的鏡子。在盒子邊上,每行每列的兩端,都有一個小孔

(共2m+2n個),可以讓光線射入及射出。

現在希望從第i個孔射入的光線從第 Xi個孔射出(必定可以達 成),給定X1~Xn,問鏡子該如何擺設,才能滿足要求?

總之,這就是greedy啦!greedy其實可以是很有趣又不容易的啊,相信大家能夠體會XD!

[完]

建中資訊培訓講義 (七) - by kelvin

參考文獻

相關文件

臺北市立建國高級中學 112 學年度高二分散式人文社會資賦優異班 轉入生鑑定安置計畫 一、依據 (一)特殊教育法及其施行細則。 (二)身心障礙及資賦優異學生鑑定辦法。 (三)高級中等以下學校特殊教育班班級及專責單位設置與人員進用辦法。 (四)臺北市112學年度高級中學學術性向資賦優異學生入班鑑定安置工作實施計畫。 二、目的

6 防疫措施 法源依據 罰則 定義說明 備註: 一、未列於本表應關閉之營業場所及公共場域,地方主管機關認有停業必要者,請依傳染病防治法第 37 條第 3 項規定,依 指揮官指示辦理。 二、其他經指揮中心同意有條件開放者,應遵守目的事業主管機關及地方主管機關所定之防疫措施、公告及指引等相關規定。

雲林縣私立巨人高級中學、維多利亞學校財團法人雲林縣維多利亞實驗高級中

雲林縣私立巨人高級中學、維多利亞學校財團法人雲林縣維多利亞實驗高級中

徐瑞憲出生於台灣台北,目前於紐約及台北兩地生活、創作。1983-86 就讀復 興商工美工科雕塑組、1898-92

基隆市立安樂高級中學、輔仁大學學校財團法人基隆市輔大聖心高級中學、二信

級中等學校、治平學校財團法人桃園市治平高級中等學校、天主教振聲學校財團

在你的手中 有我的寄託&在你的心中 埋藏著溫柔 想問你是不是有相同感受&讓我快要忍不住心中衝動 在我的心中好多話想說