学习资源
本页面主要列举了一些与算法竞赛有关的在线评测网站、题目合集、书籍、工具等资源。
在线评测平台¶
在线评测平台(英语:Online Judging System,简称:OJ),一般用于刷题训练,参与和组织比赛,以及用户之间的交流分享。
国内¶
- 51Nod:有许多值得尝试的数学题和思维题。
- Comet OJ:始于 2018 年,旨在为广大算法爱好者提供一个竞技、练习、交流的平台,经常举办原创性的高质量比赛,有丰富的题库。
- FZUOJ 始于 2008 年,福州大学在线评测系统。
- HDU Online Judge 始于 2005 年,杭州电子科技大学在线评测系统,有多校训练的题目。
- hihoCoder 始于 2012 年,面向企业招聘,有些题目来自于每周一题,涉及知识点的学习。(登录后方可查看题面)
- HydroOJ:始于 2021 年,为开源项目 Hydro 的官方站。用户可以创建自己的 域,域中可以使用题库、比赛、讨论等主站可以使用的功能。
- 计蒜客 北京矩道优达网络科技有限公司旗下的核心产品,提供按知识点和难度筛选的信息学题库和 ICPC 题库。
- Judge Duck Online 基于 松松松 开发的开源项目 JudgeDuck,可以将评测程序的运行时间精确到微秒。(题目较少)
- LibreOJ:始于 2017 年。基于开源项目 SYZOJ NG,Libre 取自由之意。题目所有测试数据以及提交的代码均对所有用户开放。目前由 Menci 维护。
- Lutece:电子科技大学在线评测系统,始于 2018 年,项目开源。
- 洛谷:始于 2013 年,社区群体庞大,各类 OI 的真题和习题较全。提供有偿教育服务。
- 牛客网:始于 2014 年,提供技术类求职备考、社群交流、企业招聘等服务。
- NOJ:南京邮电大学在线评测系统,始于 2008 年,项目开源。自身拥有题目两千余道,同时支持对多个国内外 OJ 的提交,可以直接在 NOJ 提交别的 OJ 的题。
- NTUOJ:台湾大学在线评测系统,始于 2007 年,基于开源项目 Judge Girl。
- OpenJudge:始于 2005 年,由 POJ 团队开发的小组评测平台。
- POJ:北京大学在线评测系统,始于 2003 年,国内历史最悠久的 OJ 之一。内有很多英文题,既有基础题,也有值得一试的好题。
- PTA(拼题 A):始于 2016 年,浙江大学衍生的杭州百腾教育科技有限公司产品。
- 清澄:始于 2005 年,由 胡伟栋 开发。自 2019 年 9 月 1 日起不再对外提供服务。
- Universal Online Judge:始于 2014 年,Universal 取通用之意,项目开源;VFK 的 OJ:多原创比赛题和 CCF/THU 题,难度较高。
- Vijos:始于 2005 年。服务端 和 评测机 等项目开源。
- ZOJ:浙江大学在线评测系统,始于 2001 年。
国外¶
- AizuOJ:日本会津大学在线评测系统,始于 2004 年。包含日本若干高中和大学编程比赛的题目,自带编程/数据结构/算法的入门课程。
- AtCoder:日本 OJ,日文版里会有日本高校的比赛,英文内不会显示。题目有趣,质量较高。
- CodeChef:印度 OJ,周期举办比赛。系统基于 SPOJ 的 Sphere Engine。
- Codeforces:俄罗斯 OJ,始于 2010 年,创始人是 Mike Mirzayanov。有多种系列的比赛,并支持个人出题、申请组织比赛。题目质量较高。
- CSES(Code Submission Evaluation System),按专题划分的题库,旨在 成为综合的高质量题库,目前只有 200 题,主要由 Competitive Programmer’s Handbook 作者 Antti Laaksonen 开发,始于 2013。
- CS Academy
- DMOJ 加拿大开源的 OJ,语言支持广;题库是各大比赛的存档,也有定期自行举办的比赛。
- HackerRank 有很多比赛
- ICPC Live Archive 存档了 1990 年至今的 ICPC 区域赛和总决赛题目;但部分比赛的评测数据仅为样例数据,且对 Special Judge 的支持不完善。
- ICPC Problem Archive 基于 Kattis 系统;存档了 2012 年至今的 ICPC 全球总决赛题目,并且会在总决赛开赛时同步发放题目(但不会有同步赛)。
- Kattis 题库主要包含类似 ICPC 比赛的题目;根据用户解题情况评定用户等级,推荐适合该用户水平的 trivial/easy/medium/hard 四类难度的题目,其中题目难度采用类 ELO 等级分 系统来评估。
- LeetCode 码农面试刷题网站,有中文分站:LeetCode China。
- Light OJ 一个快挂了的 OJ,
www
域名无法访问,请使用 根域名 访问 - opentrains 俄罗斯 Open Cup 比赛的训练平台,基于 ejudge 开源系统搭建,支持虚拟比赛;题库包含历年 Open Cup 赛题以及 Petrozavodsk 训练营的题目。
- SPOJ 始于 2003 年,其后台系统 Sphere Engine 于 2008 年商业化;支持题目点赞和标签功能。
- TopCoder 始于 2001 年,其 竞技编程社区 有很多比赛;目前主营业务是技术众包。
- TimusOJ 始于 2000 年,由 Ural Federal University 开发,拥有俄罗斯最大的在线评测题库,题目主要来自乌拉尔联邦大学校赛、乌拉尔锦标赛、ICPC 乌拉尔区域赛、以及 Petrozavodsk 训练营。
- Online Judge(前 UVaOJ)始于 1995 年,国际成名最早的 OJ,创始人是西班牙 University of Valladolid (UVa) 的 Miguel Ángel Revilla 教授;由于 Revilla 教授于 2018 年不幸离世,且 Valladolid 大学终止维护,UVaOJ 自 2019 年 7 月起更名为 Online Judge。现在该平台的维护者 正在 GitHub 上构建新的评测平台。
- Yandex 存档了近几年的全俄罗斯信息学奥赛。
教程资料¶
- OI Wiki
- Codeforces 上网友整理的一份教程合集
- 英文版 E-Maxx 算法教程
- 演算法笔记:台湾师范大学总结的教程
- algo.is
- CS 97SI: Introduction to Programming Contests:斯坦福大学的一门课
- 如何为 ACM-ICPC 做准备?- geeksforgeeks
- Topcoder 整理的教程
- 校招面试指南
- 由 hzwer 收集整理自互联网的课件
- Trinkle23897 的课件
- huzecong 的课件
- Open Data Structure:内含众多数据结构讲稿
书籍¶
本列表内注明了书籍作者,译者未列其中。因无重名书籍且易于寻找,故不标明 ISBN。
- 刘汝佳系列
- 《算法竞赛入门经典》(紫)
- 《算法竞赛入门经典 - 训练指南》(白/蓝)- 陈锋 合著
- 《算法艺术与信息学竞赛》(蓝/黑)
- 《算法竞赛进阶指南》- 李煜东
- 《啊哈算法》- 纪磊
- 面向初学者或有初步兴趣的人群,有幽默配图。
- CCF 中学生计算机程序设计系列
- 《CCF 中学生计算机程序设计 - 入门篇》- 陈颖,邱桂香,朱全
- 《CCF 中学生计算机程序设计 - 基础篇》- 江涛,宋新波,朱全民
- 《CCF 中学生计算机程序设计 - 提高篇》- 徐先友,朱全民
- 《CCF 中学生计算机程序设计 - 专业篇》(未出)
- 深入浅出系列
- 《深入浅出程序设计竞赛 - 基础篇》- 洛谷网校教研组
- 一本通系列
- 《信息学奥赛一本通》- 董永建
- 《信息学奥赛一本通 - 提高篇》- 黄新军,董永建
- 《信息学奥赛一本通 - 高手训练》- 黄新军,董永建
- 其他由国内著名 OI 教练写的教材
- 《信息学奥赛课课通》- 林厚从
- 《聪明人的游戏:信息学探秘 - 提高篇》- 江涛,陈茂贤
- 《计算概论:C++ 编程与信息学竞赛入门》- 金靖
- 《算法竞赛宝典》- 张新华
- ACM 国际大学生程序设计竞赛系列
- 《ACM 国际大学生程序设计竞赛系列 知识与入门》- 俞勇
- 《ACM 国际大学生程序设计竞赛系列 算法与实现》- 俞勇
- 《ACM 国际大学生程序设计竞赛系列 题目与解读》- 俞勇
- 《算法竞赛入门到进阶》- 罗勇军,郭卫斌
- 《算法导论》第三版 - Thomas H.Cormen/Charles E.Leiserson/Ronald L.Rivest/Clifford Stein
黑书,大学经典教材。英文版原名Introduction to Algorithms - 《具体数学》第二版 - Ronald L. Graham/Donald E. Knuth/Oren Patashnik
英文版原名Concrete Mathematics - 《组合数学》第五版 - Richard A.Brualdi
英文版原名Introductory Combinatorics - Competitive Programmer's Handbook
- 《挑战程序设计竞赛》全套 - 秋叶拓哉,岩田阳一,北川宜稔 通俗易懂。
- 《算法概论》- Sanjoy Dasgupta/Christos Papadimitriou/Umesh Vazirani
- 提纲挚领,但内容较少。
- Legend-K 的数据结构与算法的笔记
- acm-cheat-sheet
- Competitive Programmer’s Handbook- Antti Laaksonen
- 作者花了三年个人时间完成。面向算法竞赛,覆盖面广,详略得当。
- 《挑战编程:程序设计竞赛训练手册》- Steven S. Skiena/Miguel A. Revilla
- 由西班牙 University of Valladolid 的两位教授编写。
- 阅读 经过翻译的在线电子版图书
- 购买 纸质版图书
- 《C++,挑战编程——程序设计竞赛进阶训练指南》- 邱秋
工具¶
- 《100 个 gdb 小技巧》
- Algorithm Visualizer
- cppreference:一个全面的 C 和 C++ 语言及其标准库的在线参考资料
- Compiler Explorer:在线查看编译后代码块对应的汇编语句,支持选择不同的编译器
- Inverse Symbolic Calculator:实数反查表达式,适用于反推常数
\rm\LaTeX \rm\LaTeX - Mathpix:截图转
\rm\LaTeX{} - OEIS:整数数列搜索引擎
- Quick C++ Benchmark:在线比较两个及以上函数的运行速度
- Try It Online:在线运行 600+ 种语言的代码,支持 IO 交互,超时 60s,可以分享代码
- 图论画板 与 GraphViz
- Ubuntu Pastebin:可用于分享代码
- uDebug:提供一些 OJ 题目的调试辅助
- USF 与 VisuAlgo:算法可视化
- Wolfram Alpha:可以计算包括数学、科学技术、社会文化……等多个主题的问题
题集和资源¶
- POJ 训练计划
- USACO
- 洛谷题单
- -Morass- 贴在 Codeforces 上的一份题单
- Codeforces 社区高质量算法文章合集 之一 之二
- 北京大学 ICPC 暑期课课件例题
- 北京大学 ICPC 暑期课课件
- GitHub.com:OI-wiki/libs
- 多校联合训练 关键词:
Multi-University Training Contest
- Vjudge
- Project Euler
- Junior Training Sheet:对新手友好的训练计划
build本页面最近更新:,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:Suyun514, ChungZH, Enter-tainer, StudyingFather, Konano, JulieSigtuna, GldHkkowo, SukkaW, Rapiz1, Henry-ZHR, H-J-Granger, countercurrent-time, fouzhe, Ir1d, abc1763613206, EndlessCheng, Plaaant6, LUTLJS, ZsgsDesign
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用