2005 年 9 月 10 日 星期六 【晴】
今朝返左培正講 OI,
今日既題目係 Dynamic Programming。
開頭打算講七題,
後來發覺一個上午講七題好似太多,
結果打 Notes 個時只預備了四題。
到今朝講既時候,
只係講左一題。
足足一個上午,
Code 得起一題既都唔夠一半人,
點出去同人砌呢?
結果下午開多堂特別堂,
講多一題。
黎既得返四個,
其中兩個已經畢左業。
其他個 d,
已經跟唔上了。
兩點開始,
三點半我就要過圖書館開會。
好彩到夠時間我 Code 得起。
去圖書館開咩會呢?
咪就係 OI Meeting lor。
今年既老師換了培正既馬 Sir,
所以開會地點係培正個圖書館。
見返好多舊老友,
包括 96 年我既隊友 Henry,
99 年既隊友 Unu,
今年返來幫手,讀緊 Cert Ed. 既 YanOnSheung 等等。
一開就開到差不多六點。
因為有個特別堂和開會,
結果我帶晒衫都去唔到做 Gym。
開完會之後,
沿上海街行返屋企。
因為天開始黑,
唔少店鋪都已經關門。
幸好,
我都可以找到我想買既野,
一個手動磨豆器,
細既 $ 168,
大既 $ 255,
等我下次買佢返黎,
咁以後沖咖啡就可以直接買豆了。
>>September 12, 2005 at 10:58:56 AM GMT+8
2005 年 9 月 9 日 星期五 【晴】
曾經以為咖啡係好傷身體的東西,
一度想完全戒晒。
不過睇完以下報道之後,
睇黎可以繼續飲。
呵呵呵
2005年9月8日蘋果日報
摘文者:樊浚賢(英國註冊營養師)
專家之言:咖啡有益有害富爭議
美國一項最新研究發現,
咖啡內含有的大量抗氧化物,
對預防某些癌症有一定幫助。
過去一直有許多科學家堅持飲咖啡有害健康,
甚至肯定其與心血管病變存有一定關連。
可是,近年有愈來愈多研究對這個推論提出質疑;
皆因過去這些研究當中,
一般飲咖啡的研究對象多數也是吸煙的,
而當扣除吸煙這因素後,
飲咖啡與心臟病有關的現象便不再明顯。
含抗氧化物稱可防癌
咖啡的抗氧化物主要是多酚類(Polyphenols)及阿魏酸(Ferulicacid),
能抗衰老及防止壞膽固醇被氧化。
日本國家癌症中心的一項長期研究更指出,
每天飲一至兩杯咖啡的人,
其肝癌罹患率竟然比不飲的人低一半。
話雖如此,這些存在於咖啡豆中的多酚類,
跟茶葉中的一樣,
經烘製後是會大量流失。
幸好現今科學家已研究出一種可避免多酚類流失的烘製咖啡豆方法,
惟有期望它日後能普及起來。
雖然咖啡因能引致血壓上升,
但對正常人的影響不大。
除此之外,由於咖啡因的利尿作用會增加鈣質從尿液排泄,
所以喜歡飲咖啡的你更要注意自己的鈣質攝取量,
以免對骨質造成負面影響。
影響鈣質攝取量要注意
這項研究同時指出,
要攝取這樣大量的抗氧化物,
便需要像美國人般每天平均飲一點六杯咖啡才可。
其實,只要平日多吃蔬果,
攝取足夠的維他命ACE,
亦能有同樣的抗氧化功效。
>>September 9, 2005 at 7:24:48 AM GMT+8
2005 年 9 月 8 日 星期四 【晴】
動態規劃
星期六的訓練將談及動態規劃(Dynamic Programming, DP),
因為要預備講義的關係,
所以今日比較懶,
用講議來當今天的日記。
所謂動態規劃,
並不是一種算法,
而是一種解決問題的技巧。
它可以明顯地降低一些算法(當然不是全部)的執行時間,
而代價就是使用多些記憶體。
動態規劃其實是以「空間換取時間」,
藉著記下曾運算的結果,
減少重覆運算的次數,
從而增加程式的效率。
一般來說,
要使用 DP,
要符合兩個條件。
1. Optimal sub-structure:
子問題的最佳答案一定是組成原問題最佳答案的原素。
2. Overlapping sub-problems
要有重複計算的子問題。
這兩個條件,
前者確保 DP 找出來的答案的真確性,
後者確保了有用 DP 的需要。
常見的 DP 題目包括:
1.矩陣乘法(Matrix Chain Multiplication, MCM)
2.最長公共子字串(Longest Common Subsequence, LCS)
3.編輯距離(Edit Distance)
4.最長遞增/減子數列(Longest Inc/Dec-reasing Subsequence, LIS/LDS)
矩陣乘法(Matrix Chain Multiplication, MCM)
跟據矩陣的乘法結合律(Associativity of Multiplication),
三個距陣 A(10*100)、B(100*5) 和 C(5*50),
A(BC) = (AB)C
先算那個乘法,
雖然不影響答案,
卻會影響效率。
前者做的乘數運算為 100 * 5 * 50 + 10 * 100 * 50 = 75000 次,
後者做的乘數運算為 10 * 100 * 5 + 10 * 5 * 50 = 7500次。
可見後者比前者少 10 陪的運算。
現在給你一串的矩陣,
採取那種組合次取可做最少的乘數運算?
假設有 n 個矩陣,
A[i, j] (i <= j) 代表把第 i 個矩陣至第 j 個矩陣相乘後的矩陣。
A[i, j] 可以由 A[i, k] 和 A[k+1, j] (i <= k < j) 相乘而得到,
總共有 j-i 種分拆法。 (k = i, i + 1, ..., j - 1)
假設 R[i] 代表距陣 i 有多少行,
C[j] 代表距陣 i 有多少列,
A[i, k] 和 A[k+1, j] 相乘所需的乘數運算將會是:
R[i] * C[k] * C[j]。
設 O[i, j] 為組成 A[i, j] 所需的最少乘數運算,
O[1, n] 將會是我們要找的答案。
問題是:
如何找出 O[1, n]?
因為 A[i, j] 由 A[i, k] 和 A[k+1, j] 相乘得來,
所以
O[i, j] = 0, if i = j
= min {O[i, k] + O[k+1, j] + R[i] * C[k] * C[j]} i<=k
練習:
348 Optimal Array Multiplication Sequence
最長公共子字串(Longest Common Subsequence, LCS)
假設有兩個字串,
A G C T A T A C G A T G A C T
G T C A G T A T A G T C A T A T G
這兩個字串的最長公共部份是:
G C T A T A G A T A T
我們試試這樣排
A G C T A T A C G A T G A C T
G T C A G T A T A G T C A T A T G
假設輸入的兩個字串為 X 和 Y。
檢查 X 和 Y 兩個字串的第一個字符,
有兩個可能性:
1. 若他們相同,
那最長公共部份必包含此字符,
由字串去取最頭的字符得 X' 和 Y',
X 和 Y 的最長公共部份長度會是 X' 和 Y' 的最長公共部份長度 + 1;
2. 若不相同,
X 和 Y' 的最長公共部份長度,
或是 X' 和 Y 的最長公共部份長度將會是我們要找的答案。
練習:
10066 The Twin Towers
編輯距離(Edit Distance)
假設有有兩個字串 X 和 Y,
透過刪減字符、增加字符和/或轉換字符,
將 X 變成 Y。
假設 d(X, Y) 為字串 X 和 Y 的最短距離,
我們可得:
d("", "") = 0
d("", s) = d(s, "") = 字串 s 的長度
d(s1 + c1, s2 + c2)
= min{ d(s1, s2) + if (c1 == c2) then 0 else 1,
d(s1 + c1, s2) + 1,
d(s1, s2+c2) + 1
}
首兩條式很明顯,
比較難理解的可能是最尾那條。
在最尾那條式,
兩個字串均不是空字串,
考慮這兩字串最尾的字符 c1 和 c2。
如 c1 = c2,
不需要做任何變化,
所以最短距離 = d(s1, s2);
如他們不相同,
可以轉換 c1 變成 c2,
最短距離 = d(s1, s2) + 1;
或可以刪除 c1,
最短距離 = d(s1, s2 + c2) + 1;
增加 c2 在第一個字串的尾,
最短距離 = d(s1 + c1, s2) + 1;
練習:
164 String Computer
最長遞增/減子數列(Longest Inc/Dec-reasing Subsequence, LIS/LDS)
在一串數列中,
尋找一條最長上升/下降數列。
設 L[i] 為至數列第 i 個數為止,
最長上升/下降數列長度。
V[i] 為數列第 i 個數的值。
L[i] = max{1, L[j] + 1 if V[i] >/< V[j]}, 1 <= j < i
練習:
10131 Is Bigger Smarter
另外有一個較有效的算法(O(n log k))。
參考資料
設有一個已排列的陣列 A
A[i] 代表如果有一長度為 i 的 遞增/減子數列時,
最後一個(即係第 i 個)的值。
每輸入一個數,
就用 binary search 尋找他的最後位置是甚麼。
Pseudocode:
A[0] := -1
A[1] := Inf
K := 0
While there are elements left
Read in the next element X
Find L such that A[L] <= X < A[L+1]
A[L+1] := X
If L+1 > K
K := K + 1
A[K+1] := Inf
Output K
練習:
481 What Goes Up
>>September 9, 2005 at 5:12:04 PM GMT+8
2005 年 9 月 7 日 星期三 【晴】
今晚個 SOC Training,
我負責帶。
首先係一個 2.4Km 既測試,
中位數係 9 分頭,
算唔錯。
唔計兩個 Miss,
好耐冇跑最近先出返黎既曾 Sir,
同埋因為要做 Personal Coach 實習先出黎既東南,
大部份人都可以係十分鐘之內完成。
今次係今期最後一次 2.4Km 測試,
下期希望將合格線再推前,
希望大家都仍然達標啦。
之後做 Circuit Training,
3 * 3,
每轉有六個動作。
做完之後,
大家散晒咁滯。
下期開始,
會由兩個考緊 Level 2 既教練帶返,
咁我呢 d 蝦兵蟹將可以慢慢淡出,
專心做訓練。
(雖則我做教練個時都好似冇乜負出過。)
真係好熱,
我講部電腦。
雖則都仲行得走得,
但放隻手埋去係感覺到熱既。
純田為隻牛熱?
定因為冇係 CPU 落散熱膏?
好耐冇吸麈?
D IDE 線、電線冇執好?
嗯嗯,
找日執執佢先。
>>September 8, 2005 at 10:58:58 AM GMT+8
2005 年 9 月 6 日 星期二 【晴】
判刑書出左之後,
唔少人問我打算點?
係 wor,
我想點呢?
嘗試去搵工,
瀏覽 JobsDB,
不過又冇心水。
係我要求高嗎?
係,我要求高。
我想要有咁上下 Pay,
但係又唔想咁多 OT。
工作辛苦、OT 我唔介意,
不過 OT 講緊既係間唔中一日半日。
如果 Offical Office Hour 係到六點,
但晚晚其實都要做到十點既,
代表 d 乜呢?
一係個員工冇盡力,
一係唔夠人手。
可惜既係,
好多老闆以為,
兩個人做十二個鐘,
可以頂得到三個人做八個鐘,
咁洗乜請多一個人呢?
用到 d 員工咁盡,
對公司、員工真的有益嗎?
真係激鬼死我,
話說十二月個考試有網上報名,
報左之後三日內要交錢。
點知 Moly 報左冇交錢。
上個星期問佢,
佢話親身去多一次報名。
五號係 Deadline,
咁我中午已經打電話畀佢,
點知佢又唔聽我電話。
頭先上堂問佢,
佢竟然冇報到,
激死我。
>>September 6, 2005 at 10:54:00 PM GMT+8
2005 年 9 月 5 日 星期一 【晴】
自從上次坐欄左個張跟左我好多年既電腦椅之後,
現在坐緊家姐個張。
其實想買新椅好耐,
不過舊個張未爛,
冇理由咁浪費買張新椅。
現在就梗係大條道理買啦。
既然買,
仲要係日日坐既,
當然買張好 d 架啦。
Pricerite 個 d 普普通通唔好坐既都要 $200,
Ikea 個 d 又要 $4~500。
咁我不如拿夠 $1000 出黎。
當我坐五年,
每日都係五毫子姐。
坐又坐得舒服 d,
又可以有其他用途,
例如做 Incline Press 練上胸,
又或者練吓背、膊頭咁,
抵用啦!
記得以前睇 Newsgroup,
有網友介紹過一張,
不過都年代久遠,
找唔返 d Info 了。
最近細牛買左張,
星期三送貨。
問佢拿左 Web Site,
今日上去睇一睇,
咁多張當中,
選左呢一張。
Koln (KX)
Koln (KX) is a mesh-back seating program with choice
of changeable elements to suit different styles and needs.
These elements include sizes of seat backs, bases, armrest
as well as seat upholstery.
之後睇睇下佢 d 相,
點解咁熟口面既?
返細牛個 Blog 睇睇,
原來係同一張……
>>September 5, 2005 at 12:06:08 PM GMT+8
2005 年 9 月 4 日 星期日 【乍寒還暖】
兩個月前有 Orienteering Training,
但因為雷暴警告而取消。
今日補返個 Training,
一起身就體驗驟雨,
一時勁大雨,
一時一滴都冇。
我 Re-pack 過個囊,
先穿條 Orienteering 褲,
將一件冇袖同褲用膠袋封好先出門口。
講開個背囊,
今次我第一次用呢個囊。
Chair Rucksack 30 liter
30 Liter 既囊連椅,
用落都可以放好多野,
條背帶雖然薄,
但背上身都唔算好唔舒服。
入返正題。
八點四十分去到荃灣西,
見到 Dicky,
佢話有電暴。
唔係掛,
我八點出門口個時都冇架 Wor。
打上天文台,
真係有。
打畀係荃灣地鐵站既阿健,
佢話唔上去住,
叫我如果上左車就打畀佢。
點知轉頭佢就話帶住班學員上左車……
Anyway,
結果都係取消左。
因為山上面電話收得好唔好,
我唔知佢地想點,
結果我冇等佢地落山,
就趕返培正返崇拜。
結果遲左十分鐘先到。
原因係我坐巴士,
以為只有 30x 經旺角,
剛剛好送車尾。
等左一陣有架 238x,
我冇上到,
之後等左十五分鐘先有第二架 30x。
但原來 238x 都經既……
>>September 5, 2005 at 12:05:58 PM GMT+8
2005 年 9 月 3 日 星期六 【晴】
下次約人記住問埋約幾點。
話說今日約左四虎「下午」,
咁根據一般正常人既理解,
「下午」係指「中午」過後。
咁我就將個「下午」 Reserve 左,
Even 有人找我碌鈴我都推左,
半年冇見既袁生找我食晏我又推埋。
點知「下午」既定義係……
「佢地黃昏先到」
「你預五點啦」
當堂企左係到啦。
結果中午返到屋企食完飯之後,
出左奧海城 Join PSP Group 班人。
我兩點半去到既時候,
佢地落左去食野。
佢地張飛係 38 號,
而 Number 就叫到 55 號。
唔好以為係叫過左,
又或者係倒數緊。
其實個 Number 係 Mod 左 100 既,
即係話佢地個 Number 應該係 138 號。
到三點佢地食完返黎,
叫到 98 號喇。
係繼續等既時候,
大家都拿部 PSP 出黎打。
有人打太鼓,
有人打 Virtul Tennis。
打左個零鐘,
收到細牛電話話上得去喇。
呢個時候,
個 Number 仲係 98 號,
而佢地五點九要去到碼頭上遊輪,
亦即係話,
唔駛碌……
上到去先打機,
今次再贏兩鋪。
分別贏細牛既曼聯同艾文既車路士。
兩鋪都係 1:0。
之後打牌,
頭四圈勁輸。
埋單要輸 43 下,
仲要乘 2,
即係做 86 下掌上壓。
之後食 Pizza Hut(假期食 Pizza Hut 真係好唔抵!)
之後阿力加人再打四圈。
今次就由頭帶到尾,
最後個鋪阿力自摸,
剛剛追平我。
我同佢都唔駛做,
細牛同艾文就……
呵呵呵
>>September 5, 2005 at 12:05:40 PM GMT+8
2005 年 9 月 2 日 星期五 【晴】
近呢半個月未試過有一晚好訓,
尋日解脫左之後,
簡直係另一個世界。
尋晚本來想去買 PSP 隻 Virtual Tennis 慶祝,
不過賣到成 $350 就有 d 貴。
我唔理佢係炒到咁貴,
還是來貨已經係咁既價錢,
總之唔合預算就唔買。
Anyway,
尋晚好好訓,
十一點訓到今朝七點,
仲可以坐到巴士返工。
因為坐巴士返工要早好多出門口,
我差不多成年冇坐過,
仲好準時九點返到公司 Tim ,
呵呵呵。
每年呢個時候,
都會有 d 團體出黎派「平安米」。
但呢 d 「平安米」一 d 都唔平安,
年年都有鑊氣既,
今日係尖沙咀派米就有個婆婆死左。
中午食飯睇新聞,
d 公公婆婆好似打仗咁,
又推又擁。
有 d 就跌低係地上,
有 d 就攪到損手攔腳。
有時我都唔明,
咁急仲咩?
係唔係排遲一個半個會冇米拿?
主辦單位又係既,
年年都係咁,
點解唔曉想想解決辦法?
我寧願佢花 d 錢送上門,
派少 d 米,
好過攪咁多次「軍事演習」。
>>September 3, 2005 at 11:11:20 AM GMT+8
2005 年 9 月 1 日 星期四 【晴】
九月一日值得紀念的一日,
我亦為此 Update 左好耐冇 Update 既 ICQ Info。
今日之前,
就好似跑緊場唔知幾時完既馬拉松咁;
我今日終於跑到日運動場,
跑多一個圈就可以完成比賽。
比賽成績係唔係第一唔重要,
最重要係我曾經參與過,
亦都曾經盡力過。
不過跑完呢個馬拉松,
亦代表我要預備下一場既比賽。
究竟我應該再找一場馬拉松,
定還是跑場金一里,
甚或一場 400 米都跑呢?
係呢個時世,
又係咪輪到我選呢?
講返昨日跑入運動場個段。
下午我成日都係 Lab,
三點幾左右佢就返黎喇,
之後有個同事因工事入去找佢。
四點幾五點,
內線響喇。
唔係逐個召入去,
而係一次召晒兩個 Engineer 入去,
入去講既野,
基本上都預左,
結果係 Case 5,
唔係最好既 Case,
不過都算唔差。
之後既,
就要做埋 d 手尾,
整理埋 d Documents,
寫返 Assembly/Testing Procedures。
做定幾隻做 Stocks。
最攪笑係佢話如果日後有單,
會嘗試找我地返黎幫手……
>>September 2, 2005 at 1:45:40 PM GMT+8
|
![]()
一個性格分裂、沉默寡言既青年。剛投身社會工作不久,借這地方抒發自己對不同事的睇法。
|
廣告 |
|
讀者留言 |
| 路人留言
|
While searching
>>December 6, 2007 at 9:57:11 PM GMT+8
好喇.....我覺得需要澄清
<
>>September 8, 2006 at 8:53:08 PM GMT+8
hi!我係之前問過你係邊度買你個
>>July 22, 2006 at 7:11:02 PM GMT+8
Re Eric,
<br>
<b
>>July 21, 2006 at 11:16:23 AM GMT+8
hi!Do you rememb
>>July 20, 2006 at 7:22:51 PM GMT+8
成日粒聲都唔出, 鬼知你識定唔識
>>June 8, 2006 at 8:34:48 PM GMT+8
你未咁快有票呀,而係學校話要取導
>>March 14, 2006 at 11:03:13 PM GMT+8
請問你在那兒買的呀?可否給我地址
>>February 19, 2006 at 4:01:50 PM GMT+8
請問你買的adaptor係咩型號
>>February 18, 2006 at 11:28:21 PM GMT+8
16/10, 你想要 ventu
>>May 27, 2005 at 1:24:43 AM GMT+8
連續數天沒有新日記?
<br>罕
>>April 28, 2005 at 2:08:46 PM GMT+8
oh... how old ar
>>February 23, 2005 at 7:19:06 PM GMT+8
估唔到你係日記度提起我.今年無國
>>February 11, 2005 at 12:57:08 PM GMT+8
hehe~ halo~
>>January 5, 2005 at 2:24:42 PM GMT+8
唔好講到我咁勁...
<br>因
>>December 29, 2004 at 12:19:24 PM GMT+8
為你感到難過……請節哀順變。
<
>>December 12, 2004 at 11:45:41 AM GMT+8
I feel so sorry
>>December 12, 2004 at 1:23:49 AM GMT+8
唉呀,搶先知道壞消息添。 :(
>>December 10, 2004 at 12:58:57 AM GMT+8
病人是痛苦的,可能你未必可以幫得
>>October 27, 2004 at 7:12:26 PM GMT+8
@__@
<br>傻左TIM,
>>October 18, 2004 at 4:49:59 AM GMT+8
好多時我都是七日仙,
<br>
>>October 18, 2004 at 4:47:34 AM GMT+8
答你一句︰對的。
>>October 8, 2004 at 2:33:56 AM GMT+8
其實你覺唔覺你瘦左好多喎?
<b
>>September 16, 2004 at 6:18:27 PM GMT+8
我o岩o岩先買左張9800pro
>>September 11, 2004 at 4:05:39 PM GMT+8
你並非只有一個人,所以我相信你捱
>>September 7, 2004 at 9:32:33 PM GMT+8
祝, 各人健康!
<br>整理一
>>September 6, 2004 at 9:57:01 AM GMT+8
希望你屋企人身體健康! 你自己都
>>September 3, 2004 at 12:47:39 PM GMT+8
祝福您及您的家人. 好快渡過難關
>>September 2, 2004 at 8:02:21 PM GMT+8
願主保佑你們.
>>September 2, 2004 at 4:15:32 PM GMT+8
今天收拾辦公室,在倉底發現你、金
>>August 31, 2004 at 3:59:51 PM GMT+8
好耐無留過言, 路過就留下言啦.
>>August 24, 2004 at 11:19:33 AM GMT+8
睇咁耐只係知炒炒好比心機寫日記,
>>August 21, 2004 at 3:55:17 PM GMT+8
係wo....5 記得左留d 聯
>>August 20, 2004 at 9:57:02 AM GMT+8
icq=82802293
>>August 19, 2004 at 9:00:17 PM GMT+8
你好...
<br>唔好意思哦,
>>August 19, 2004 at 7:35:34 PM GMT+8
:) ... 努力努力
>>August 19, 2004 at 4:42:14 PM GMT+8
咦...又睇到啦 hee
>>August 19, 2004 at 4:08:23 PM GMT+8
點解睇唔到你d 語法既? 俾人r
>>August 19, 2004 at 4:07:02 PM GMT+8
哈佬* 我係路過ge" 我想問下
>>August 19, 2004 at 12:35:36 PM GMT+8
hi ar~
<br>nice
>>August 19, 2004 at 10:49:52 AM GMT+8
Do you remember
>>August 12, 2004 at 11:45:19 AM GMT+8
快 d 教我 html 黎整果日
>>August 10, 2004 at 1:50:54 PM GMT+8
http://www.opend
>>August 10, 2004 at 10:33:26 AM GMT+8
你好,到此一遊
<br>沖爛左果
>>August 6, 2004 at 12:31:08 PM GMT+8
你講過你有gf 架, 點解無寫你
>>July 20, 2004 at 3:41:49 PM GMT+8
炒炒好野
<br>
<br>非常
>>July 10, 2004 at 1:08:38 AM GMT+8
你師弟會唔會識唔識得入來睇睇你
>>July 9, 2004 at 12:18:33 AM GMT+8
你既日記內容喜歡講d 唔講d,
>>July 5, 2004 at 2:07:06 PM GMT+8
包哥好o野!
<br>
<br>
>>June 23, 2004 at 11:53:08 AM GMT+8
炒炒你好!我是石添小草。 ^__
>>June 17, 2004 at 12:59:04 AM GMT+8
|
|