10801: Lift Hopping ★★★☆☆ 題組:Problem Set Archive with Online Judge

Slides:



Advertisements
Similar presentations
周凌波 麦可思研究院 2015 年 7 月 31 日 高职生全程跟踪评价 “ 现代职业教育评估制度建设的研究与实践 ” 子课题研究汇报 分论坛一: 04.
Advertisements

传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
電腦與問題解決 5-1 電腦解題概論 5-2 電腦解題程序 5-3 演算法概論.
1.1 广告摄影简述、 1.2 广告摄影定义 1.3 广告摄影种类 1.4 广告摄影特征
第九章 認識勞退新制及因應之道 大葉大學 助理教授 邱祈豪.
学党章党规、学系列讲话,做合格党员 学习教育
11010: Tic-Tac-Tough ★★★★☆ 題組: Problem Set Archive with Online Judge
“携手灭烟,拥抱晴天”无烟环境倡导活动 媒体倡导模式及发动要点 新探健康发展研究中心 范彩虹
四、宗教改革 時間:十六世紀初期.
Yeasts’ Time! 酵母菌的宣言 你的生活怎能没有?.
你知道我在等你吗? 人的心理活动是个Black Box。 要由表及里、由外而内地揣测。 “形而上”须由“形而下”做载体。
班級:行流四甲 組員:497D0004何筱瑩 497D0016鄧宜欣 497D0044呂亭儀 497D0056黃 琪 497D0063賴依淩
Write by Zhuangli(zjfc3)
Network Optimization: Models & Algorithms
ACM/ICPC暑期集训讲座 二分图匹配 cnhawk
臺北市立南湖高中 103學年度繁星推薦說明會 南湖高中繁星推薦會製作.
POP字体设计 陈志鹏 广告1231.
第6章 程序设计与算法 计算机应用基础 数学与计算机工程学院.
校园水果店 ——中山大学南方学院的第一间水果店.
网络信息资源的开发与设计 主讲教师 罗双兰 广西师范大学教育科学学院.
不動產市場 分析與預測 第四章 不動產市場分析與研究.
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
他們,與眾不同…….
7.5 擴張樹 (Spanning Tree) 一個無向相連圖 G 的子圖 G’ 如果可用最少的邊來連接G 的
Bellman 查經 葡萄園工人的比喻 馬太福音 20:1~16.
Bellman 查經 兩個有關婚宴的比喻 馬太福音 22:1~14, 25:1~13.
第十五章 Linked List, Stack and Queue
於開放軟體平台上整合資源預約協定與約束路由以實現訊務工程
101北一女中 資訊選手培訓營 最短路徑 Shortest Path Nan.
“海南国际旅游岛”旅游产业快速发展的社会福利效应
第9章 基本图算法 本章内容将包含基本的图形表示法,以及先深搜寻,先广搜寻,拓朴排序,Strongly Connected Components。
11308: Bankrupt Baker ★★☆☆☆ 題組:Problem Set Archive with Online Judge
《永辉商学院培训教材》 培训手册 (本版本适用于超市部新进员工) 内部资料 注意保密.
10066: The Twin Towers ★★★☆☆ 題組:Problem Set Archive with Online Judge
10465: Homer Simpson ★★★☆☆ 題組:Problem Set Archive with Online Judge
算法导论第三次习题课
圖論的介紹 第二組 徐榮德 鄭又齊 陳俊嘉.
Chap2 Stack & Queue.
最大網路流 Max (Network) Flow
算法导论第三次习题课.
10902: Pick-up Sticks ★★☆☆☆ 題組:Problem Set Archive with Online Judge
士師記.
作业3、4、6、7 俞天灿.
最短通路问题.
网络模型 Network Modeling Operations Research 运 筹 学
第6章 运输系统及运输优化.
報告人:張淑惠.
1753: Need for Speed ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1730: Sum of MSLCM ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11908: Skyscraper ★★★☆☆ 題組:Problem Set Archive with Online Judge
计算机问题求解 – 论题3-8 - 单源最短通路算法
Konig 定理及其证明 杨欣然
Bellman 查經 處理憂慮 馬太福音 6:25~34.
10039: Railroads ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11455: Behold My Quadrangle ★☆☆☆☆
複習 2013/12/24 Jehn-Ruey Jiang 江振瑞.
10393:The One-Handed Typist
Advanced Competitive Programming
10107: What is the Median? ★★☆☆☆
11616:Roman Numerals ★★☆☆☆ 題組:Problem Set Archive with Online Judge
簡報檔使用說明及提醒 本檔案為低年級初階教案(40分鐘)
最大網路流 Max (Network) Flow
Maximum Flow.
12439: February 29 ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
11506: Angry Programmer ★★★★☆ 題組:Contest Set Archive with Online Judge
作业反馈3-12 TC ,      Problem 26.1  26.2.
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1200: A DP problem ★★☆☆☆ 題組:Problem Set Archive with Online Judge
13-1 電腦可以協助解決哪些問題 13-2 電腦解題簡介 13-3 電腦解題規劃-演算法 13-4 認識資料結構
敬拜的真諦 經文: 以賽亞書6:1-13.
Presentation transcript:

10801: Lift Hopping ★★★☆☆ 題組:Problem Set Archive with Online Judge 解題者:丘珮珊 解題日期:2015年5月14日 題意:一摩天大樓高度不超過100 層樓(編號0~99) ,內有n(1~5)台電梯。每台電梯上下一層樓的速度T(1~100秒/樓)都不同,且各電梯只停靠特定樓層。 若要換搭另一台電梯,則兩電梯都要停在同一樓,並須等待60秒。 求從0樓搭電梯到k樓所需的最時間(秒),不可能到達則輸出IMPOSSIBLE。

題意範例: 2 30 2台電梯,目的k為30樓 10 5 電梯1速度為10秒/樓,電梯2速度為5秒/樓 0 1 3 13 15 20 99 電梯1停靠的樓層 4 13 15 19 20 30 電梯2停靠的樓層 =>275 (130+60+85) 電梯1,0~13樓,13*10=130秒 換電梯2,60秒 電梯2,13~30樓,17*5=85秒 3 50 3台電梯,目的k為50樓 10 50 100 速度分別為10秒/樓、50秒/樓、 100秒/樓 0 10 30 40 電梯1停靠的樓層 0 20 30 電梯2停靠的樓層 0 20 50 電梯3停靠的樓層 =>3920 (300+60+500+60+3000) 電梯1,0~30樓,30*10=300秒,換電梯等60秒 電梯2,30~20樓,10*50=500秒,換電梯等60秒 電梯3,20~50樓,30*100=3000

解法: 先計算不換電梯時各層樓間移動所需的最短時間(計算權重),最後再計算換電梯時0樓到各樓所需的最短時間(尋找最短路徑)。 1 解法: 先計算不換電梯時各層樓間移動所需的最短時間(計算權重),最後再計算換電梯時0樓到各樓所需的最短時間(尋找最短路徑)。 1.不換電梯: (計算權重、找相鄰的點) 二維陣列time[i][j]:i到j樓所需的最短時間,初始值為無限大。 每當輸入電梯停靠的樓層時,更新time: 有一電梯的速度為t秒/樓,以此電梯可停靠的各樓層i當作起始點,若到達其他可停靠樓層j的時間比time所存的短 ( | i-j |*t < time[i][j] ),則更新time的值。 20 30

2.換電梯: (尋找最短路徑) (1)Dijkstra演算法: 一維陣列mint[i]:0到i樓所需的最短時間,初始值為不換電梯的最短時間(time[0][i])。 Queue Q:紀錄已是最小值的點,初始值為0樓。 找到mint[]的最小值mint[i],且i不在Q中,將i push入Q。 以i為中繼點重新計算mint: j=可停靠的樓層,若0到i樓+換電梯60秒+i到j樓,小於目前0到j樓的時間(mint[i]+60+time[i][j]< mint[j]),則更新mint[j]。 步驟重複步驟(1)、(2)直到Q內含有所有可停靠的樓層(或Q含有k樓時結束)。

(2)Bellman-Ford演算法: 一維陣列mint[i]:0到i樓所需的最短時間,初始值為不換電梯的最短時間(time[0][i])。 以i為中繼點重新計算mint: i、j=i可到達的點,窮舉所有(i,j),使mint[i]+60+time[i][j]< mint[j],更新mint[j]。 重複步驟(1)V(# of vertex)-1次。 時間複雜度:O(VE)

(3)SPFA(Shortest Path Faster Algorithm)演算法: Bellman-Ford演算法優化,減少步驟(1)重複的次數。 一維陣列mint[i]:0到i樓所需的最短時間,初始值為不換電梯的最短時間(time[0][i])。 queue Q:欲成為中繼點更新mint的樓層,初始值為0可到達的樓層(time[0][i]!=無限大)。 pop Q得i。 以i為中繼點重新計算mint: j=可停靠的樓層,若mint[i]+60+time[i][j]< mint[j],更新mint[j]。 當mint[j]的值更改時,代表以j為中繼點可能出現更短的路徑,因此將j push入Q(若j在Q中則不用)。 重複步驟(1)~(3)直到Q內為空。 3.輸出: 若mint[k]=無限大則輸出IMPOSSIBLE,否則mint[k]即為所求。

| i-j |*t < time[i][j] 解法範例: 3 50 3台電梯,目的k為50樓 10 50 100 速度分別為10秒/樓、50秒/樓、 100秒/樓 0 10 30 40 電梯1停靠的樓層 0 20 30 電梯2停靠的樓層 0 20 50 電梯3停靠的樓層 1.不換電梯: (計算權重) | i-j |*t < time[i][j] time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

300 40 10 400 100 1000 200 20 5000 3000 300 50 30 500

2.換電梯: (尋找最短路徑、找相鄰的點) SPFA演算法 mint[i]+60+time[i][j]< mint[j] Q 10 20 30 40 50 Push:10、20、30、40、50 10 20 30 40 50 100 1000 300 400 5000 mint 初始化 time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

mint[i]+60+time[i][j]< mint[j] Q 20 30 40 50 Pop:10 10 20 30 40 50 100 1000 300 400 5000 mint time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

mint[i]+60+time[i][j]< mint[j] Q 30 40 50 Pop:20 10 20 30 40 50 100 1000 300 400 4060 mint 1000+60+3000<5000 Push:50(已存在) time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

mint[i]+60+time[i][j]< mint[j] Q 40 50 20 Pop:30 10 20 30 40 50 100 860 300 400 4060 mint 300+60+500<1000 Push:20 time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000 省略(無更新) Pop:40 Pop:50

mint[i]+60+time[i][j]< mint[j] Q 50 Pop:20 10 20 30 40 50 100 860 300 400 3920 mint 860+60+3000<4060 Push:50 time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

mint[i]+60+time[i][j]< mint[j] Q Pop:50 10 20 30 40 50 100 860 300 400 3920 mint 結束 time 10 20 30 40 50 … = 100 1000 300 400 5000 200 500 3000

300 40 10 400 100 1000 200 20 換電梯+60 5000 3000 300 50 換電梯+60 30 500

討論: (1)一開始看到題目知道要找最短路徑,但卻不知該如何下手,後來想到最短路徑問題與圖有很大的關連,所以找出圖的特徵後,就能比較容易解題。例如本題:找出相鄰的點、各邊的權重。