1. 程式人生 > >OJ網站程序員必備

OJ網站程序員必備

浙江大學 erro ack virtual ref ole 並且 iat online

OJ網站程序員必備

一. Online Judge簡介:

Online Judge系統(簡稱OJ)是一個在線的判題系統。用戶可以在線提交程序多種程序(如C、C++、Pascal)源代碼,系統對源代碼進行編譯和執行,並通過預先設計的測試數據來檢驗程序源代碼的正確性。

一個用戶提交的程序在Online Judge系統下執行時將受到比較嚴格的限制,包括運行時間限制,內存使用限制和安全限制等。用戶程序執行的結果將被Online Judge系統捕捉並保存,然後再轉交給一個裁判程序。該裁判程序或者比較用戶程序的輸出數據和標準輸出樣例的差別,或者檢驗用戶程序的輸出數據是否滿足一定的邏輯條件。最後系統返回給用戶一個狀態:通過(Accepted,AC)、答案錯誤(Wrong Answer,WA)、超時(Time Limit Exceed,TLE)、超過輸出限制(Output Limit Exceed,OLE)、超內存(Memory Limit Exceed,MLE)、運行時錯誤(Runtime Error,RE)、格式錯誤(Presentation Error,PE)、或是無法編譯(Compile Error,CE),並返回程序使用的內存、運行時間等信息。

目前有不少在線測試平臺,這些平臺提供了很多很好的編程題,當然著名的acm中會有很多難題,如果你想挑戰自己的智力極限,如果你對編程很有興趣,那麽就可以去這些平臺註冊,然後編程提交,跟其他編程高手一較高下。在線測試平臺往往提供多種語言的支持,對於一道題,你可以用自己喜歡的語言來編寫,但是要想排名更前,就得考慮語言的效率問題,所以你會發現裏面的高手多用c或c++。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二. 算法和OJ網站:

※ The ACM-ICPC International Collegiate Programming Contest(ACM/ICPC)

ACM是一個給全世界高等院校學生參加的算法程序設計大賽,比賽目的在於考驗選手臨場邏輯思維和程序編寫能力。ACM首先在世界各地舉辦初賽,然後從各個賽區選拔表現優秀的隊伍,角逐世界總決賽。

⑴ 西班牙Valladolid大學Online Judge(UVA)

世界上最大最有名的OJ,題目巨多且雜(2500+),數據也很刁鉆,全世界的頂尖高手都在上面。據說如果你能在UVA上AC一千道題以上,就盡管向IBM、微軟什麽的發簡歷吧,絕對不會讓你失望的。

⑵ 俄羅斯Ural立大學Online Judge(URAL)

也是一個老牌的OJ,題目不多,但題題經典。

⑶ 俄羅斯薩拉托夫國立大學Saratov State University (SGU)

SGU是俄羅斯薩拉托夫國立大學用於培養ACM選手的訓練網站。這個網站的建成時期較晚,但隨著比賽的舉行以及新題目的加入,這個題庫的題目也日漸豐富。這個題庫的一大特點就是OJ功能強大,它不僅使你避開了多數據處理的繁瑣操作,還能告訴你程序錯在了第幾個數據。這一點雖然與ACM的Judge有些出入,但是卻方便了調試程序。與UVA相比,這裏的題目在時間空間上要求都比較嚴格,而且更多的考察選手對算法的掌握情況,所以特別推薦沖擊NOI的選手也來做一做。

⑷ 全美計算機奧林匹克競賽Online Judge(USACO)

USACO的特點是做完一關才能繼續往下做,與前面的OJ不同的是測試數據可以看到,並且做對後可以看標準解答,所以如果大家剛開始的時候在上面那些OJ上總WA卻找不到原因的話,可以試著來這裏做做,看看測試數據一般是從什麽地方陰你的。

⑸ 浙江大學Online Judge(ZOJ)

國內最早也是最有名氣的OJ,有很多高手在上面做題。特點是數據比較刁鉆,經常會有你想不到的邊界數據,很能考驗思維的全面性。

⑹ 北京大學Online Judge(POJ)

建立較晚但題目加得很快,現在題數和ZOJ不相上下,特點是舉行在線比賽比較多,數據比ZOJ上的要弱,有時候同樣的題同樣的代碼,在ZOJ上WA,在POJ上就能AC。

⑺ 同濟大學Online Judge(TOJ)

其上OJ題數上不能與ZOJ和POJ相比,推薦這個OJ的原因是因為它是中文的,這對很多對英文不太感冒的兄弟是個好消息吧。它也因此吸引了眾多高中的ddmm,畢竟他們的英文還差一些,呵呵。。上面的題目也更偏向於高中的信息學競賽一些。

⑻ 杭電科大Online Judge(HDU)

裏面不乏好題,培養出的很多牛人,畢業後就進了阿裏。

⑼ LeetCode

裏面有很編程多面試的題目,可以在線編譯運行。難度比較高。如果自己能都做出來,對面大公司很有幫助。

⑽ TopCoder

該網站功能眾多,其中一項是提供程序設計比賽。

⑾ ProjectEuler

該網站專門提供能用程序計算出答案的數學問題,每個問題都會有對應的解答。

⑿ ACMSolver

這個網站專門收集程序設計比賽及OJ的最新消息,可以說是面面俱到。

⒀ CODEFORCES

喜歡這個OJ的原因是因為可以看到別人的代碼,非常棒。

⒁ VirtualJudge

這裏面列出了一些常用的OJ,簡直是一個大雜燴。

⒂ 演算法筆記

這個網站是我比較喜歡的網站,美中不足的是全是繁體字。

⒃ InterviewStreet

Interview Street是幫助知名科技企業招聘程序員的在線編程挑戰平臺。

⒄ 九度OJ

最近特別火,不解釋。

⒅ ACM之家

很棒,裏面有很多很棒的例子,值得學習。

OJ網站程序員必備