sayuan
積分 0
changyuheng 之前告訴我 codeforces1 的贊助商就是 telegram (以前是 VK),這是著名的程式競賽網站。如果把 telegram 的招募聯想到一起,能組出這樣的團隊似乎也就不那麼意外了。
從古早 PTT Java 版上找到還有另一個公式1 也是 O(log n)
,但我找不到其他出處。
F0 = 0
F1 = 1
F(2n-1) = F(n)^2 + F(n-1)^2
F(2n) = (2 * F(n-1) + F(n)) * F(n)
不過有一點要注意,這複雜度是建立在數值相乘為 O(1)
的前提下,當需要用到大數時,這兩個演算法就不再是 O(log n)
了。
sayuan
積分 4
我題目整理的不太好,剛剛先對過去寫過的題目搜了下關鍵字,但也只有找到比較近期的。
- TopCoder srm535 FoxAndBusiness
- Codeforces 83B. Doctor1
- Codeforces 536A. Tavas and Karafs2
但我也不記得這些適不適合當例題了,下班回去再看看。
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
目前我唯一找到的一篇是 One world, how many bytes? 1
雖然兩次不同來源得到的結果差異很大,但都是中文使用比較少的 bytes。 (GB encoded,所以會跟顯示長度一致)