難得這篇文引起許多回響,讓小的備感榮幸,我發現討論串到最後變成對演算法的興趣了
所以這篇文我特別來敘說討論一下對演算法的熱誠來自哪裡。
相信很多人從高中就接觸 OJ,我也是,而解決演算法問題最重要動機就屬成就感
解決了有代表性 (可 reduce 到其他) 的問題讓大家知道,在世界上留名,才有成就感。
單純在 OJ 上提高 AC 比率,在排行榜上留名,也有成就感,只是稍微少一些。
如果是一些沒有代表性 (無法轉移的),天外飛來的水題,就算解決了又有什麼意義呢?
它沒有代表性阿,既然沒有成就感,那麼又幹嘛花腦力去解呢?這是第一個。
那如何得到成就感?當然就是"能"解決愈多問題,以達成上面那兩件事,心裡愈爽快。
那又要如何解決很多問題?除了增進自己的實力之外,更重要的就是
多接觸 OJ 的問題與解法,納入資料庫,等到資料庫愈來愈龐大,
這樣未來遇到新的問題的時候如果有遇到資料庫內的問題就可以直接 "reduce" 過去,
所以在我回信給演算法站長大大的內容裡面就提到,其實我更喜歡 reduce 這個動作,
而不是天外飛來一筆的解法,雖然我也曾經天外飛來一筆的解出 zerojudge 裡面的回文
問題拿到排行榜第一名,不過這種機會非常難得少有。
OJ 題目普遍比演算法學界研究簡單,如果連 OJ 題目都不會,我怎麼能越級打怪呢?
這就是我認為 OJ 和演算法研究的關係,所以為什麼我想在真正研究前先刷題培養經驗。