一.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作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于...
《CUMT2021算法导论OJ(python版).rar》是一个压缩包,包含的资源主要用于学习和实践算法,特别强调了Python语言的应用。这个资源可能出自中国矿业大学(CUMT)的一门课程,旨在帮助学生掌握算法基础,并通过在线判题...
通过深入学习和实践这些经典算法,考生不仅能在ACM竞赛中提高竞争力,还能在考研上机环节展现出扎实的算法基础和优秀的编程能力,为未来的研究和工作打下坚实的基础。同时,这种训练也能培养出良好的逻辑思维和问题...
OJ,数据结构,算法等的一个杂集 OJ,数据结构,算法等的一个杂集 OJ,数据结构,算法等的一个杂集 OJ,数据结构,算法等的一个杂集 OJ,数据结构,算法等的一个杂集 OJ,数据结构,算法等的一个杂集 OJ,数据结构,...
洛谷(Luogu)是一个在线编程竞赛与学习平台,也被称为洛谷OJ(Online Judge),它提供了丰富的算法题目供用户练习和挑战。洛谷题库是这个平台的核心资源,包含了各种难度级别的编程题目,涵盖了数据结构、算法、...
这些文件名揭示了多个计算机科学和编程相关的算法知识点,主要涉及数据结构和算法设计策略。以下是对这些知识点的详细说明: 1. **分治法**: 分治法是一种常用的算法设计策略,它将大问题分解为若干个相同或相似...
算法笔记 可供各学校计算机上机复试及各OJ平台刷题使用算法笔记 可供各学校计算机上机复试及各OJ平台刷题使用算法笔记 可供各学校计算机上机复试及各OJ平台刷题使用算法笔记 可供各学校计算机上机复试及各OJ平台刷题...
总之,聚石塔OJ题库为编程爱好者和专业开发者提供了丰富的实战练习资源。通过解决这些题目,用户不仅能巩固理论知识,还能提高实际编程和问题解决能力,这对于提升个人技能和在竞争激烈的IT行业中脱颖而出至关重要。...
在 OJ 网站上编程时,经常会遇到各种错误信息,这些错误信息可能会让人感到困惑和沮丧。因此,本文将对 OJ 网站上的常见错误进行分析,以便更好地理解错误信息并解决编程问题。 1. Queuing Queuing 是 OJ 网站上的...
这些样例通常分为多个测试用例,帮助开发者确保算法在各种情况下都能正确运行。 通过学习和实践这些C++实现的贪心算法,我们可以深入理解贪心算法的思想,提高解决实际问题的能力。同时,这也是提升C++编程技巧和...
这不是原书pdf,找算法竞赛入门经典(第二版)pdf的同学请不要下了。 这个是书里采用的习题和例题的UVa原题pdf(英文)。 分享这个文件的原因是国内上UVa太慢了,有时候UVa还会挂。 而且书里把输入输出样例省去了,...
二是算法拓展课上oj的题解,这部分可能涉及到更为复杂和高级的算法,如二分查找、回溯法、最小生成树等。每个题解都用C语言进行了实现,清晰地展示了算法逻辑,有助于读者理解和掌握。 在学习这些题解时,首先应...
9. **API接口**: 对于高级用户和开发者,hustoj 可能提供了API接口,允许与外部系统集成,如构建自定义的竞赛平台或者教学平台。 10. **社区支持**: 由于hustoj的流行,它通常有一个活跃的社区,用户可以在其中分享...
OJ习题是指在特定的在线平台上进行的编程挑战,这些挑战通常要求学生实现或优化特定的数据结构或算法,然后提交代码以供系统自动测试和评估。 【标签】虽然没有提供具体的标签,但我们可以推测相关的标签可能包括:...
安科OJ、南阳OJ、杭电OJ、北大OJ和浙大OJ分别是来自不同地区或机构的在线编程竞赛平台,它们各自有各自的题库和特点,而这个网站通过集成这些资源,为学习者提供了方便的一站式学习体验。 【标签】为空,但我们可以...
* CF(英文网站):是一个提供了大量的算法和数据结构的题目的OJ系统。 * 信奥题库:是一个提供了大量的算法和数据结构的题目的OJ系统。 * ACWing:是一个提供了大量的算法和数据结构的题目的OJ系统。 3. OJ系统的...
对于开发者来说,研究"青岛大学OJ"的源代码可以了解在线编程评测系统的架构设计、数据处理和交互流程,有助于提升软件开发能力。同时,如果有兴趣,也可以参与系统维护或贡献新的功能,为教育领域做出贡献。
杭电OJ题目分类 杭电OJ题目分类是指杭电Online Judge平台上的一系列算法题目分类,涵盖了多种类型的算法题目,包括动态...杭电OJ题目分类涵盖了多种类型的算法题目,需要学习和掌握不同类型的算法和数据结构来解决。
7. **算法与数据结构**:oj题通常涉及排序(如冒泡、插入、选择、快速、归并等)、搜索(如线性、二分查找)、图论、树结构、动态规划等经典算法。掌握这些基础算法是oj题解答的关键。 8. **递归与迭代**:这两种...