OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性。著名的OJ有RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库等。国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。
简介:
Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
程序:
一个用户提交的程序在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等。
POJ:
http://poj.org/
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:
http://acm.zju.edu.cn/onlinejudge/
ZOJ是浙江大学的在线评测系统.国内起步最早的几个OJ之一.题目数量也接近2000.我没有太多的做zju的题目,所以不好说题目质量如何.OJ系统的友好性不如pku,但功能并不差.应该可以作为pku的替代品.
推荐做法:
无(可以参考pku做法)
HOJ:
http://acm.hnu.cn/
HOJ是哈尔滨工业大学的在线评测系统,相对来说起步不早也不晚,曾经也涌现了许多大牛。现在题目数量接近3000,难度参差不起,由于学校开始重视其ACM,最近活动频繁。最近新版的系统上线,相对老版来说友好性和功能都有提升。
推荐做法:
无
然后是一些不太知名的或比较新的:
RQNOJ:
http://www.rqnoj.cn/
(RenQingNet Online Judge,任青网络信息学奥赛(OI)在线判题系统)
RQNOJ经过了一年的时间逐渐的成熟起来,题目的数量也不断的增加,使用的用户数量也上升了不少,对于最近RQNOJ推出的一些新功能,很值得称赞。还有经常有一些比赛,可以去参加。
推荐做法:
做一些有难度的题目
TOJ:
http://acm.tju.edu.cn/toj/
TOJ是天津大学的在线评测系统,题目质量一般,也不乏一些好题。
推荐做法:
无,可以做做Contests.注意是Online Contests而不是Virtual Contests,Virtual那个...打开就能知道,是利用TOJ自己的题库出Contests...其实这个设计很新颖,所有人都可以出测试.适合队内搞测验...
NKOJ:
http://it.nankai.edu.cn/acm/data/Data.htm
NKOJ是天津市南开大学的OJ,想必大多数人都不知道吧?在看下面的介绍之前,你可以先上去看看,体会一下.你一定会发现,通过大量Ajax技术的应用,加上清新的界面,你会感到十分舒适.而且nkoj似乎有一个功能是自己不出现在Rank List和Status里面,这个功能很贴心.题目是nkoj最大的弱点,数量不大,质量一般.不过因为是中英文题目夹杂且中文题目数量不少(和pku比),所以想做中文题的除了Vijos也可以来这里看看.其实nkoj比vijos要漂亮的多,速度比vijos稍快,稳定性...应该比vijos好不少吧.
推荐做法:
做中文题.
HDOJ:
http://acm.hdu.edu.cn/
HDOJ是杭州电子科技大学的在线评测系统。随着杭电的崛起,HDOJ也成为菜鸟们练习的重要OJ。题目量很多,质量参差不齐,有相当一部分好题。
推荐做法:
按照网上的题单来刷
HUSTOJ:
http://acm.hust.edu.cn:8080/judge/toIndex.action
HUSTOJ是华中科技大学的在线评测系统,以其Virtual Judge功能最为著名。许许多多的神队都用Virtual Judge功能进行训练。Virtual Judge上可以挂其他各个OJ的比赛。
推荐做法:
挂uva或者其他OJ的比赛进行训练
SGU:
http://acm.sgu.ru/
(Saratov State University Online Contester)俄罗斯萨拉托夫州立大学
sgu是俄罗斯萨拉托夫州立大学(大概是这个名字)的OJ,很老牌了.题目数量很少,但题题精炼,每做一道题都会让你的编程水平上升.在有一定编程水平之后可以试着做做,要争取做出每一道题.如果sgu能全部AC的话...那这个人不是抄袭就是神牛...注意status需要通过左边的"status online"链接来看,而且sgu速度稍慢并且不太稳定.总之是非常特别以及及其应该推荐的OJ.
推荐做法:
AC每一道题,可以按照AC Rate来做.
URAL:
http://acm.timus.ru/
Ural是Ural State University的一个OJ,题目不是很多,但都是原创,而且比较经典.如果sgu做着费劲,那么试试Ural吧.
推荐做法:
试着做做每一道题吧,可以按照AC Rate来.
大视野在线评测:
http://61.187.179.132/JudgeOnline/
HUSTOJ is an GPL FreeSoftware
http://code.google.com/p/hustoj/
Who Used the System
发源地:
互联网用户:(基于本站访问数据HTTP Referer)
内网用户:
文献来源:
UNDONER(小杰博客) :http://blog.csdn.net/undoner
LSOFT.CN(琅软中国) :http://www.lsoft.cn