什麼是OJ

部分摘自百度百科。http://baike.baidu.com/link?url=rvc8ByfFUXYhOD751cSscU6v746cO1MdOji_iwanAWl7PLbdxBLTyXOstZEamaU28H5rwLQWHgzZHqIGip5eWK

        OJ是Online Judge系統的簡稱,用來在線檢測程序源代碼的正確性。著名的OJ有TYVJ、RQNOJ、URAL等。國內著名的題庫有北京大學題庫、浙江大學題庫、電子科技大學題庫、杭州電子科技大學等。國外的題庫包括烏拉爾大學、瓦拉杜利德大學題庫等。

1、簡介

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

2、程序

        一個用戶提交的程序在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),並返回程序使用的內存、運行時間等信息。
        Online Judge系統最初使用於ACM-ICPC國際大學生程序設計競賽和OI信息學奧林匹克競賽中的自動判題和排名。現廣泛應用於世界各地高校學生程序設計的訓練、參賽隊員的訓練和選拔、各種程序設計競賽以及數據結構和算法的學習和作業的自動提交判斷中。
        知名的OJ有:RQNOJ,URAL,SPOJ,vijos,tyvj,USACO,sgu,pku(poj),zju(toj),tju,uva,HDU(HDOJ)、JLOJ等。

3、舉例

知名的OJ

POJ
        POJ是北京大學的在線評測系統.我主要在做的一個.題目數量很多,OJ的各項功能也很完善,而且還提供免費的OJ系統下載,可以利用提供的系統自己搭建OJ.題目數量很多,有幾千道,但水題也很多.關於這一點,因爲題目數量大,所以水題自然就多,但這不說明POJ的題目質量不高.POJ的難題還是不少的,而且做不做水題還是要由做題人自己決定的,和OJ無關.
推薦做法:
        如果是初學者或者僅僅想提高編程準確性,那麼按照AC率做,保證1Y率;如果是有一定水平的OIer,可以每頁完成40~50題;如果是大牛,那麼儘量做吧;如果想專門訓練某個項目,可以去網上搜POJ題目分類,個人覺得POJ裏的dp題和數學題比較多.
所使用的程序:
        POJ,許多OJ都是採用的這個程序,可以說是北京大學創造了這個程序。在北京大學JudgeOnline裏面就有這個程序的下載,不過需要先填寫申請表。進入OJ,點擊“ Download free version of Judge Online ” 就可以看到申請表。

ZOJ
        ZOJ是浙江大學的在線評測系統.國內起步最早的幾個OJ之一.題目數量也接近2000.我沒有太多的做zju的題目,所以不好說題目質量如何.OJ系統的友好性不如pku,但功能並不差.應該可以作爲pku的替代品.
推薦做法:
        無(可以參考pku做法)

HOJ
        HOJ是哈爾濱工業大學的在線評測系統,相對來說起步不早也不晚,曾經也涌現了許多大牛。題目數量接近3000,難度參差不齊,由於學校開始重視其ACM,最近活動頻繁。新版的系統上線,相對老版來說友好性和功能都有提升。
推薦做法:
        無

然後是一些不太知名的或比較新的:
NOJ
        NBUT Online Judge,簡稱 NOJ。是寧波工程學院在線評測系統。2011 年底 2012 年初推出的新OJ。素有“最萌 OJ”之稱。題目難度中等偏下,適合初學者刷題。其右下角的“春菜”是 NBUT 的 ACM 集訓隊請一位日本畫師 須原くるり 設計並繪畫的。

TYVJ
        TYVJ成立於2009,張浩千創立(現北京大學就讀),後發展爲信息學競賽愛好者開放平臺,相對於其他oj而言,tyvj更具有開放性,用戶可以自由上傳題目,自由舉辦比賽。經過幾年的發展,註冊用戶達到4萬多人,題目數量也居於各大oj之首。

RQNOJ
        (RenQingNet Online Judge,任青網絡信息學奧賽(OI)在線判題系統)RQNOJ經過了一年的時間逐漸的成熟起來,題目的數量也不斷的增加,使用的用戶數量也上升了不少,對於RQNOJ推出的一些新功能,很值得稱讚。還有經常有一些比賽,可以去參加。
推薦做法:
        做一些有難度的題目

Vijos

        (Velocious Informatics Judge Online System)說到OJ,就不得不提Vijos.Vijos是Vivian Snow(就是湖南師大附中的劉康)搞的一個Judge系統,本來是作爲創新大賽作品的,後來就搞起來了,人氣很旺.Vijos上所有人都可以上傳自己的題目,雖然增加了很多靈活性,但由此導致的是題目水平參差不齊.而且上傳題目的人在選擇題目難度的時候很難做出同樣的判斷,都有自己的個人見解,所以本來題目難度是很好的一個設計,卻成了雞肋。從2007年末曾關閉維護了一段時間,詳情參考Vijos詞條。2012年7月Vijos復活後,Vijos2.0開啓全新VJ時代,地址見Vijos詞條的參考鏈接。
推薦做法:
        用來測試競賽原題,另外可以做一做AC率較低的題目.不推薦做大量的Vijos題目.

TOJ
        TOJ是天津大學的在線評測系統,題目質量一般,也不乏一些好題。
推薦做法:
        無,可以做做Contests.注意是Online Contests而不是Virtual Contests,Virtual那個...打開就能知道,是利用TOJ自己的題庫出Contests...其實這個設計很新穎,所有人都可以出測試.適合隊內搞測驗...

NKOJ
        NKOJ是天津市南開大學的OJ,想必大多數人都不知道吧?在看下面的介紹之前,你可以先上去看看,體會一下.你一定會發現,通過大量Ajax技術的應用,加上清新的界面,你會感到十分舒適.而且nkoj似乎有一個功能是自己不出現在Rank List和Status裏面,這個功能很貼心.題目是nkoj最大的弱點,數量不大,質量一般.不過因爲是中英文題目夾雜且中文題目數量不少(和pku比),所以想做中文題的除了Vijos也可以來這裏看看.其實nkoj比vijos要漂亮的多,速度比vijos稍快,穩定性...應該比vijos好不少吧.
推薦做法:
        做中文題.

HDOJ
        HDOJ是杭州電子科技大學的在線評測系統。隨着杭電的崛起,HDOJ也成爲菜鳥們練習的重要OJ。題目量很多,質量參差不齊,有相當一部分好題。
推薦做法:
        按照網上的題單來刷

HUSTOJ
        HUSTOJ是華中科技大學的在線評測系統,以其Virtual Judge功能最爲著名。許許多多的神隊都用Virtual Judge功能進行訓練。Virtual Judge上可以掛其他各個OJ的比賽。
推薦做法:
        掛uva或者其他OJ的比賽進行訓練

SGU
        (Saratov State University Online Contester)俄羅斯薩拉托夫州立大學。sgu是俄羅斯薩拉托夫州立大學(大概是這個名字)的OJ,很老牌了.題目數量很少,但題題精煉,每做一道題都會讓你的編程水平上升.在有一定編程水平之後可以試着做做,要爭取做出每一道題.如果sgu能全部AC的話...那這個人不是抄襲就是神牛...注意status需要通過左邊的"status online"鏈接來看,而且sgu速度稍慢並且不太穩定.總之是非常特別以及及其應該推薦的OJ.
推薦做法:
        AC每一道題,可以按照AC Rate來做.

Ural
        Ural是Ural State University的一個OJ,題目不是很多,但都是原創,而且比較經典.如果sgu做着費勁,那麼試試Ural吧.
推薦做法:
        試着做做每一道題吧,可以按照AC Rate來.

Smart OJ
        Smart OJ題庫均爲中文題目,交互性能較好,界面友好,操作便捷,在線比賽較多,支持OI、ACM、Codeforces三種賽制。OJ中有1500多題目。

JLOJ
        JLOJ是浙江省杭州市建蘭中學的OJ,想必大多數人都不知道吧?在看下面的介紹之前,你可以先上去看看,體會一下.你一定會發現,清新的界面,使你感到十分舒適.
Meaning
Category
Obstruction of Justice
Community->Law
Office Jumpsuit
Miscellaneous->Clothes
Official Journal
Business->Accounting
Community->Media
Oh Joy
Community->Media
Oh Joy!
Internet->Chat
Old John
Miscellaneous->Names and Nicknames
Oliver James
Miscellaneous->Names and Nicknames
On the Jugular
Governmental->Military
Online Journal
Community->Media
Only Joking
Internet->Chat
Opaquely Juicy
Miscellaneous->Food
Open Java
Computing->Software
Open Jugular
Medical->Physiology
Optional Jumping
Community->Sports
Orange Juice
Miscellaneous->Food
Orange Julius
Miscellaneous->Names and Nicknames
Orange Jumpsuit
Community->Law
Orenthal James
Community->Famous
Orenthal James Simpson
Community->Famous
Organismo Judicial
International->Guatemalan
Orion, Junior
Miscellaneous->Names and Nicknames
Oscar James
Miscellaneous->Names and Nicknames
Oscar Johnson
Community->Famous
Oscar Jones
Miscellaneous->Names and Nicknames
Oscar Justin
Miscellaneous->Names and Nicknames
Outdoor Journey
Community->Sports
Outer Join
Academic & Science->Architecture
Overly Jealous
Internet->Chat


術語:

1、AC率:AC率即Accept率,Online Judge系統(亦稱OJ,即在線判題系統)專用語。Accpet即程序通過,源代碼正確無誤的意思,Accept率就是通過數佔總提交數的比值(百分數)。AC率可以較爲恰當的反應OJ系統中用戶的水平。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章