CSP Wiki
权威、高质量的免费学习资源,带你从零基础到 CSP 认证。QQ 交流群:166492147(获取更多资源与帮助)
❤ 由 云斗学院 倾力打造
特色内容
知识全面
覆盖 CSP 认证考试所有必备知识点
实例丰富
通过实际案例学习,理解算法原理
高效学习
突出重点概念,高效备战 CSP 考试
专业辅导
由经验丰富的信息学教师精心打造
普及组学习路径(该阶段学习要点)
数据结构
数据结构是 OI 竞赛中组织与存储数据的形式,可以说是 OI 竞赛最重要的基础之一。普及组的数据结构主要包括栈、队列、链表。
基础
主要介绍了 OI 竞赛中复杂度的定义以及基础且常用的算法以及思想。
算法的定义和复杂度
算法通常用于解决特定的计算任务,但与可以直接在计算机上运行的程序不同,算法使用数学化的描述,更加侧重于思想,可以被看作抽象的程序。同一个算法可以有许多种不同的实现方式,两个不同的程序里也可能使用了同一种算法。
均摊复杂度
均摊分析(Amortized Analysis)是一种用于分析算法和动态数据结构性能的技术。它不仅仅关注单次操作的成本,还通过评估一系列操作的平均成本,为整体性能提供更加准确的评估。
分治算法
分治算法(Divide and Conquer)是一种重要的算法设计策略,它的基本思想是将一个规模较大的问题分解为若干个规模较小、相互独立且结构与原问题相似的子问题,然后递归地解决这些子问题,最后将子问题的解合并起来得到原问题的解。
搜索
搜索在 OI 竞赛中用于高效遍历或搜索图/树结构,通过逐层扩展节点确保最先找到目标的最短路径或最少操作步骤,常用于解决最短路径、连通性检测等最优化问题。
图论
图论在 OI 竞赛普及组中用于将实际问题抽象为节点与边的关系。
动态规划
动态规划在 OI 竞赛普及组中通过拆解复杂问题为重叠子问题并构建状态转移方程,以递推方式高效求解最优化问题(如最长上升子序列、背包问题),是解决多阶段决策类题目的核心方法论。
数论
数论在 OI 竞赛普及组中通过研究整数性质及同余关系,为处理质数判断、模运算、加密算法等问题提供数学基础,是解决数位操作类题目的关键工具,同时强化逻辑推理能力。
素数筛法
埃拉托斯特尼筛法(Sieve of Eratosthenes),简称埃氏筛,是一种用于找出一定范围内所有素数的经典算法。它的核心功能是高效地标记出指定区间内的合数,从而筛选出其中的素数。
组合数学基础
排列组合是组合数学中的基础。排列就是指从给定个数的元素中取出指定个数的元素进行排序;组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数。排列组合与古典概率论关系密切。