1. 程式人生 > >各大Oj平臺介紹

各大Oj平臺介紹

1.題庫與網站資源
題庫-線上提交系統(Online Judge)簡介
   下面是幾個比較大的線上提交系統(OnlineJudge)裡面有大量歷年的競賽題目,註冊一個ID,然後用自己熟悉的語言(一般有Pascal/C/C++/Java)寫好原始碼提交即可,會實時返回資訊告訴你是否正確。採用黑箱測試,系統裡有一套標準的輸入輸出資料(對外保密,而且通常資料很多很怪),你的程式的輸出和標準輸出完全符合即可。
   常見的返回資訊有 AC(Accepted,通過)、WA(Wrong Answer,輸出有錯誤)、TLE(Time LimitExceeded,超時)、MLE(Memory Limit Exceeded,記憶體溢位)、RE(RuntimeError,發生實時錯誤)等,只有AC了才算做對一題。這裡只是一個簡要介紹,請大家在做題時先看看各網站上的FAQ,Enjoy it

北京大學 Online Judge(POJ)   <http://acm.pku.edu.cn/JudgeOnline/>建立較晚,但題目加得很快,現在題數和ZOJ不相上下,特點是舉行線上比賽比較多,資料比ZOJ上的要弱,有時候同樣的題同樣的程式,在ZOJ上WA,在POJ上就能AC。不過感覺pku的題目要難很多。這個題庫的一大特點就是 OnlineJudge功能強大,其實pku現在已經是中國最好的ACM網站。
浙江大學 Online Judge(ZOJ) <http://acm.zju.edu.cn>   國內最早也是最有名氣的OJ,有很多高手在上面做題。開啟速度快。
西班牙Valladolid大學 Online Judge(UVA) <
http://acm.uva.es/>世界上最大最有名的OJ,題目巨多而且巨雜,資料也很刁鑽,全世界的頂尖高手都在上面。據說如果你能在UVA上AC一千道題以上,就儘管向IBM、微軟什麼的發簡歷吧,絕對不會讓你失望的。
俄羅斯Ural立大學 Online Judge(URAL) <http://acm.timus.ru/>也是一個老牌的OJ,題目不多,但題題經典,我在高中的時候就在這上面做題的。
俄羅斯薩拉托夫國立大學(Saratov State University)(SGU) <http://acm.sgu.ru/>SGU是俄羅斯薩拉托夫國立大學(Saratov StateUniversity)用於培養ACM選手的訓練網站。這個網站的建成時期較晚,但隨著比賽的舉行以及新題目的加入,這個題庫的題目也日漸豐富。這個題庫的一大特點就是 OnlineJudge功能強大,它不僅使你避開了多資料處理的繁瑣操作,還能告訴你程式錯在了第幾個資料。這一點雖然與ACM的Judge有些出入,但是卻方便了除錯程式。與UVA相比,這裡的題目在時間空間上要求都比較嚴格,而且更多的考察選手對演算法的掌握情況,所以特別推薦衝擊NOI的選手也來做一做。

UsacoGate Online Judge(USACO) <http://ace.delos.com/usacogate>
全美計算機奧林匹克競賽(USACO)的訓練網站,特點是做完一關才能繼續往下做,與前面的OJ不同的是測試資料可以看到,並且做對後可以看標準解答,所以如果大家剛開始的時候在上面那些OJ上總WA卻找不到原因的話,可以試著來這裡做做,看看測試資料一般是從什麼地方陰你的。


網站資源:
http://www.608088.com acm很不錯的網站(資料很多),教育網也可以很快開啟,acm社群.

比如:
acm演算法介紹 演算法模版  http://www.608088.com/category-5-1.html
各大OJ解題報告       http://www.608088.com/category-4-1.html

注意:還有一種非常重要的網站資源―――用百度搜索你在oj上不懂的題目(例如:pku 1015),就可以看到了。也可以直接打“ACM”等等。有點看運氣,但是其實也有搜尋技巧在裡面。

原文:

https://leetcode.com/problems/flatten-binary-tree-to-linked-list/