一. 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之家
很棒,裡面有很多很棒的例子,值得學習。

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()