sayuan 積分 1

這看起來好像是原本的 algorithm tutorial,只是換了個名字

koji 積分 0

"11100","01011","00111" 沒想到這個,以為可以 greedy @@...

sayuan 積分 4

我題目整理的不太好,剛剛先對過去寫過的題目搜了下關鍵字,但也只有找到比較近期的。

但我也不記得這些適不適合當例題了,下班回去再看看。

chchwy 積分 0 編輯於

之前都是寫 UVa or ZeroJudge,也不排斥其他平台啦。

koji 積分 0

這上面的網站,跑的限制時間好嚴格...一下就超時了好沒成就感^^;;

sayuan 積分 2

需要的話我可以針對其中一些主題做說明,但請不要說全部 XD

先推薦一下 Disjoint Set1,它的原理跟實作都非常的簡單。 基本的用法像是:給一堆 vertex 和 edge,詢問兩個 vertex 之間是否 connected。(若不用 Disjoint Set 的話,就得用 BFS 或 DFS 了)

然後跟 Kruskal's algorithm2(Minimum Spanning Tree) 非常速配。 記得以前學到 Kruskal's 的時候還覺得這個演算法相當雞肋,因為沒有容易的方法判斷兩個 vertex 是否屬於同一個 component,後來看到了 Disjoint Set 才驚為天人 :p

sayuan 積分 1

不錯的教材,搭配的題目也選得很恰當。

sayuan 積分 2 編輯於

趁現在馬上打廣告 my blog1 XD

整整一年多沒寫文章,希望接下來可以針對程式競賽寫個幾篇。

koji 積分 0

哈好主意,也忘記你 blog 在哪 :~。

sayuan 積分 1

唔,這篇好像應該寫在 blog 裡,再貼連結過來才對....XD

sayuan 積分 1

是呀,我用 java 打好幾年囉, 雖然先前有考慮換到 scala, 最近也在思考換到 C++ 的可能性, 不過至少目前還沒換 XD

sayuan 積分 0

我自己的 library 有不少,一開始是參考這裡改寫成 Java 版的。

haocheng 積分 0 編輯於

這本我有買耶,不過好像沒看幾頁... Orz

sayuan 積分 3 編輯於

我個人很喜歡的其中一個技巧是 x&(x-1),以及類似的 x&(-x)

最簡單的應用即連結中的 "Counting bits set, Brian Kernighan's way", 另外也可以用來解 n-queen1, 不久前新加坡總理李顯龍在 facebook 上分享自己寫的 sudoku solver2,也用了這種技巧。