跳转至

学习资源

本页面主要列举了一些与算法竞赛有关的在线评测网站、题目合集、书籍、工具等资源。

在线评测平台

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

国内

  • 洛谷:始于 2013 年,社区群体庞大,各类 OI 的真题和习题较全。提供有偿教育服务。
  • 牛客网:始于 2014 年,提供技术类求职备考、社群交流、企业招聘等服务。
  • PTA(拼题 A):始于 2016 年,浙江大学衍生的杭州百腾教育科技有限公司产品。

国外

  • Codeforces:俄罗斯 OJ,始于 2010 年,创始人是 Mike Mirzayanov。有多种系列的比赛,并支持个人出题、申请组织比赛。题目质量较高。
  • LeetCode 码农面试刷题网站,有中文分站:LeetCode China

教程资料

书籍

本列表内注明了书籍作者,译者未列其中。因无重名书籍且易于寻找,故不标明 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
  • 《挑战程序设计竞赛》全套 - 秋叶拓哉,岩田阳一,北川宜稔 通俗易懂。
  • 《算法概论》- Sanjoy Dasgupta/Christos Papadimitriou/Umesh Vazirani
    • 提纲挚领,但内容较少。
  • Legend-K 的数据结构与算法的笔记
  • acm-cheat-sheet
  • Competitive Programmer’s Handbook- Antti Laaksonen
    • 作者花了三年个人时间完成。面向算法竞赛,覆盖面广,详略得当。
  • 《挑战编程:程序设计竞赛训练手册》- Steven S. Skiena/Miguel A. Revilla
  • 《C++,挑战编程——程序设计竞赛进阶训练指南》- 邱秋
  • 《数据结构(C++ 语言版 第 3 版)》- 邓俊辉
    • 建议随配套课程、配套课件和习题解析一起使用。
  • 《计算几何:算法与应用》- 伯格(Berg,M.D.)著,邓俊辉 译
    英文版原名Computational Geometry: Algorithms and Applications
  • 《Handbook of Data Structures and Applications, 2nd Edition》
    • 由许多著名教授如 Sartaj Sahni、Hanan Samet、Weiss 等合著,内容较多,建议有一定基础的数据结构爱好者阅读。
  • 算法详解 系列
    • 面向有语言基础的初学者的教材,建议同配套课程一起使用
    • 《Algorithms Illuminated, Part 1: The Basics》- Tim Roughgarden
    • 《算法详解,卷 1:算法基础》- 徐波 译
    • 《Algorithms Illuminated, Part 2: Graph Algorithms and Data Structures》- Tim Roughgarden
    • 《算法详解,卷 2:图算法和数据结构》- 徐波 译
    • 《Algorithms Illuminated, Part 3: Greedy Algorithms and Dynamic Programming》- Tim Roughgarden
    • 《Algorithms Illuminated, Part 4: Algorithms for NP-Hard Problems》- Tim Roughgarden

课程

工具

题集和资源


致谢:本页内容参考 OI-Wiki ,以帮助更好地呈现相关信息。