什么是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系统中用户的水平。


你可能感兴趣的:(ZOJ,poj,online,OJ,hoj,judge)