跳转至

外部资源

精选竞赛学习外部资源,涵盖知识百科、练习平台、代码参考和推荐书籍。


知识学习

OI-Wiki

  • 网址: https://oi-wiki.org
  • 简介: 中文算法竞赛知识百科,内容覆盖全面,从基础语法到高级数据结构、图论、数论、计算几何等,均有系统性的讲解。
  • 推荐使用场景:
    • 学习某个算法/数据结构时查阅原理和代码实现
    • 赛前快速复习知识点
    • 需要了解某个主题的完整知识体系时
  • 特点: 内容严谨、持续更新、社区维护、配有代码示例

代码随想录

  • 网址: https://programmercarl.com
  • 简介: 系统性的算法学习教程,以 LeetCode 题目为主线,从数组、链表到动态规划、图论,循序渐进地讲解算法思维。
  • 推荐使用场景:
    • 零基础入门算法的第一站
    • 学习某个专题(如二叉树、动态规划)的系统性教程
    • 做 LeetCode 题目前先看对应章节的讲解
  • 特点: 讲解通俗易懂、配有动画图解、题解详尽

labuladong 的算法小抄

  • 网址: https://labuladong.online/algo/
  • 简介: 以"框架思维"为核心,将常见算法题型归纳为有限的思维框架,帮助快速识别题目类型并套用解法。
  • 推荐使用场景:
    • 掌握基础算法后,提升解题思路和技巧
    • 准备面试或竞赛时快速复习核心框架
    • 理解动态规划、回溯、BFS/DFS 等算法的通用模式
  • 特点: 注重思维框架、善于总结套路、附带详细题解

USACO Guide

  • 网址: https://usaco.guide
  • 简介: 美国计算机奥林匹克竞赛(USACO)官方推荐学习路线,按照铜、银、金、白金四个等级划分,内容涵盖数据结构、算法、数学等。
  • 推荐使用场景:
    • 想要按照循序渐进的等级体系学习竞赛算法
    • 阅读英文资料(提升竞赛英语能力)
    • 获取 USACO 历年真题及题解
  • 特点: 体系完整、分级明确、英文资料、配有练习题

cppreference

  • 网址: https://zh.cppreference.com
  • 简介: C++ 标准库的权威参考文档(中文版),涵盖所有标准库容器、算法、函数的接口说明、复杂度保证和使用示例。
  • 推荐使用场景:
    • 查询某个 STL 函数的精确行为和参数含义
    • 确认容器操作的时间复杂度保证
    • 了解不同 C++ 标准(C++11/14/17/20)的特性差异
  • 特点: 权威准确、覆盖完整、附带可运行示例、中英文对照

代码参考

TheAlgorithms/C++

  • GitHub: https://github.com/TheAlgorithms/C-Plus-Plus
  • 简介: 开源算法实现集合,用 C++ 实现了大量经典算法和数据结构。
  • 推荐使用场景:
    • 学习某个算法时参考不同人的实现方式
    • 了解算法的多种变体
    • 作为入门学习的代码阅读材料
  • 特点: 代码量大、覆盖广、社区活跃

KACTL

  • GitHub: https://github.com/kth-competitive-programming/kactl
  • 简介: KTH(瑞典皇家理工学院)ACM 队伍的竞赛模板库,被众多世界级竞赛队伍使用。
  • 推荐使用场景:
    • 参加 ICPC 等线下赛时的打印模板参考
    • 获取经过实战检验的高效算法实现
    • 学习竞赛级代码的写法和常数优化技巧
  • 特点: 代码精练、经过大量比赛验证、包含注释说明

doocs/leetcode

  • GitHub: https://github.com/doocs/leetcode
  • 简介: LeetCode 题解集合,提供多种语言的解法,题目分类清晰。
  • 推荐使用场景:
    • 做 LeetCode 题时参考不同思路
    • 查找某道题的多种解法
    • 学习 C++ 的简洁写法
  • 特点: 覆盖 LeetCode 全部题目、多语言支持、持续更新

练习平台

Codeforces

  • 网址: https://codeforces.com
  • 简介: 全球最活跃的算法竞赛平台之一,每周举办 1-2 场在线比赛。
  • 推荐使用场景:
    • 参加定期比赛保持手感
    • 按难度筛选题目练习(Problemset 按 Rating 筛选)
    • 使用 Gym 参加历史比赛的模拟赛
  • 使用建议:
    • 注册账号后先做 Div.3 或 Div.4 的 A-C 题
    • 使用 Problemset 按 Rating 排序,从 800 开始逐渐提高
    • 比赛后务必补题(Virtual participation)

Codeforces Gym

  • 网址: https://codeforces.com/gym
  • 简介: Codeforces 的练习赛区域,收录了大量 ICPC 区域赛、国家集训队比赛等高质量真题。
  • 推荐使用场景:
    • 组队模拟 ICPC 赛制(3人5小时)
    • 练习历年 ICPC/CCPC 区域赛真题
    • 体验正式比赛的压力和节奏

AtCoder Contests

  • 网址: https://atcoder.jp
  • 简介: 日本最大的算法竞赛平台,比赛质量高,题目风格偏向思维和数学。
  • 推荐使用场景:
    • ABC(AtCoder Beginner Contest)适合入门和进阶
    • ARC(AtCoder Regular Contest)适合提升
    • AGC(AtCoder Grand Contest)适合冲刺高难度
  • 使用建议:
    • 每周参加 ABC,先做 A-E 题
    • ABC 的 F/G 题可作为挑战题
    • 比赛后到 Submission 页面查看高分选手的代码

洛谷

  • 网址: https://www.luogu.com.cn
  • 简介: 国内最大的 OJ 平台之一,收录了大量 NOIP/CSP 真题和模板题,题解丰富。
  • 推荐使用场景:
    • 学习某个算法后找对应的模板题练习
    • 刷 NOIP/CSP 历年真题
    • 使用洛谷团队题单进行专题训练
  • 使用建议:
    • 搜索"模板"可找到各算法的模板题
    • 使用难度标签筛选适合自己的题目
    • 题解区有大量优质讲解,可参考学习

AcWing

  • 网址: https://www.acwing.com
  • 简介: 国内算法学习平台,提供系统性的算法课程(基础课、提高课等)和配套题库,题目按知识点组织,讲解与练习结合紧密。
  • 推荐使用场景:
    • 跟随系统课程按专题学习算法(配套例题 + 习题)
    • 刷算法基础课的经典模板题巩固代码实现
    • 参加平台定期举办的周赛保持手感
  • 使用建议:
    • 基础课的例题覆盖了竞赛最常用的算法模板,适合入门阶段跟练
    • 每学完一个专题,用配套习题检验掌握程度

推荐书籍

《算法竞赛入门经典》

  • 作者: 刘汝佳
  • 简介: 国内算法竞赛入门经典教材,内容从基础编程技巧到中级算法,循序渐进。
  • 适合人群: 刚开始接触竞赛的零基础学生
  • 主要内容: C/C++ 基础、暴力求解、高效算法设计、数据结构基础、图论基础、动态规划入门
  • 推荐用法: 作为入门阶段的主教材,配合手册的对应章节使用

《挑战程序设计竞赛》

  • 作者: [日] 秋叶拓哉、岩田阳一、北川宜稔
  • 简介: 日本算法竞赛经典教材,内容覆盖全面,讲解精炼,配有大量例题和练习题。
  • 适合人群: 有一定基础后希望系统提升的选手
  • 主要内容: 初级(贪心、DP、搜索)、中级(数据结构、图论、数学)、高级(高级数据结构、字符串、计算几何)
  • 推荐用法: 在完成入门学习后作为进阶教材,重点阅读中级部分

资源使用建议

学习阶段 推荐资源
零基础入门 代码随想录 + 《算法竞赛入门经典》 + 洛谷入门题
基础巩固 OI-Wiki + labuladong 算法小抄 + LeetCode 暑假题单
专题突破 OI-Wiki + 《挑战程序设计竞赛》 + Codeforces 按 Rating 练习
赛前冲刺 KACTL 模板 + Codeforces Gym + AtCoder 比赛
日常训练 Codeforces 每周比赛 + AtCoder ABC + 洛谷团队题单