学习资源

在线评测平台

在线评测平台(英语:Online Judging System,简称 OJ),一般用于刷题训练,参与和组织比赛,以及用户之间的交流分享。

国内

  • 51Nod 有许多值得尝试的数学题和思维题。
  • BZOJ 因原属衡阳八中而得简称,汇聚多种习题和真题,题目质量相对较高,但可能需要联系邮箱。
    BZOJ 上有大量题目只有付费用户才能提交。2018 年 BZOJ 测试数据泄露,催生了 DarkBZOJ。
  • Comet OJ 始于 2018 年,旨在为广大算法爱好者提供一个竞技、练习、交流的平台,经常举办原创性的高质量比赛,有丰富的题库。
  • FZUOJ 始于 2008 年,福州大学在线评测系统。
  • HDU Online Judge 始于 2005 年,杭州电子科技大学在线评测系统,有多校训练的题目。
  • hihoCoder 始于 2012 年,面向企业招聘,有些题目来自于每周一题,涉及知识点的学习。(登录后方可查看题面)
  • 计蒜客 北京矩道优达网络科技有限公司旗下的核心产品,提供按知识点和难度筛选的信息学题库和 ICPC 题库。
  • Judge Duck Online 基于 松松松 开发的开源项目 JudgeDuck ,可以将评测程序的运行时间精确到 \mu s 。(题目较少)
  • LibreOJ 始于 2017 年。 目前由 Menci 维护。 Libre 取自由之意,基于开源项目 SYZOJ 。 题目所有测试数据以及提交的代码均对所有用户开放。
  • Lutece 始于 2018 年,电子科技大学在线评测系统, 项目开源
  • 洛谷 始于 2013 年,社区群体庞大,OI 界的真题和习题较全,提供有偿教育服务。
  • 牛客网 始于 2014 年,提供技术类求职备考、社群交流、企业招聘等服务。
  • NOJ 始于 2018 年,南京邮电大学在线评测系统, 项目开源 ,自身拥有题目两千余,同时支持对多个国内外 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 始于 2010 年,俄罗斯 OJ,创始人是 Mike Mirzayanov ,有多种系列的比赛,你也可以出题并申请组织比赛。(题目质量较高)
  • 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; 刘汝佳强烈安利
  • Yandex 存档了近几年的全俄罗斯信息学奥赛。

教程资料

书籍

本列表内注明了书籍作者,译者未列其中;因无重名书籍且易于寻找,故不放 ISBN。

  • 刘汝佳系列
  • 《算法竞赛进阶指南》- 李煜东
  • 《啊哈算法》- 纪磊
    面向初学者或有初步兴趣的人群,有幽默配图。
  • CCF 中学生计算机程序设计系列
    • 《CCF 中学生计算机程序设计 - 入门篇》- 陈颖,邱桂香,朱全民 建议配合勘误使用。
    • 《CCF 中学生计算机程序设计 - 基础篇》- 江涛,宋新波,朱全民
    • 《CCF 中学生计算机程序设计 - 提高篇》- 徐先友,朱全民
    • 《CCF 中学生计算机程序设计 - 专业篇》(未出)
  • 一本通系列
    • 《信息学奥赛一本通》- 董永建
    • 《信息学奥赛一本通 - 提高篇》- 黄新军,董永建 建议选择性阅读。
    • 《信息学奥赛一本通 - 高手训练》- 黄新军,董永建
  • 其他由国内著名 OI 教练写的教材
    • 《信息学奥赛课课通》- 林厚从
    • 《聪明人的游戏:信息学探秘 - 提高篇》- 江涛,陈茂贤
    • 《计算概论:C++ 编程与信息学竞赛入门》- 金靖
    • 《算法竞赛宝典》- 张新华
  • 《算法竞赛入门到进阶》- 罗勇军,郭卫斌
  • 《算法导论》第三版 - 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 Conbinatorics_
  • Competitive Programmer's Handbook
  • 《挑战程序设计竞赛》全套 - 秋叶拓哉,岩田阳一,北川宜稔 通俗易懂。
  • 《算法概论》- Sanjoy Dasgupta/Christos Papadimitriou/Umesh Vazirani 提纲挚领,但内容较少。
  • Legend-K 的数据结构与算法的笔记
  • acm-cheat-sheet
  • Competitive Programmer’s Handbook - Antti Laaksonen 作者花了三年个人时间完成。面向算法竞赛,覆盖面广,详略得当。

工具

题集和资源


评论