NOIP知识点大提纲

基础算法 

  1. 搜索与优化 一般的深搜不能满足题目要求。当题目一时没有头绪或者无从下手时不妨考虑搜索。剪 枝的原则:正确、高效。一般分为可行性剪枝和最优性剪枝。还可以使用记忆化搜索。
  2. 快速幂
    复杂度 O(log n)。需要取模时基数和返回值都需要被取模。
  3. 二分查找 根据中值合法性缩小可行范围。O(log n)。 
  4. 归并排序求逆序对 利用辅助数组排序。合并过程中可以求出逆序对的个数。复杂度 O(n*log n)。 
  5. 数据离散化 对数据排序,然后从小到大扫描一遍,如果和前一个元素相同则编号为前一个元素,否 则计数器加一,编号为计数器编号。时间复杂度 O(n*log n)。 
  6. 动态规划与递推 设计好状态,决策考虑全面,转移可分为转入和转出型。滚动数组时需要清空数组,并 判断合法状态。压成一维的时候注意转移的后效性。树形动态规划请注意父节点的倒置 子树对答案的影响。 
  7. 矩阵乘法与矩阵快速幂 两个矩阵可以相乘,当且仅当前者行数与后者列数相等,结果为一个矩阵。矩阵乘法不 满足交换律。快速幂可以在重载运算符后类比普通快速幂做。 
  8. 最大公约数与扩展欧几里得 用于求逆元和求解同余方程。对于其中的某一个解的最小非负整数解,可以是取模加模 再取模。 
  9. 费马小定理 不适用于强伪质数。但是适用于大多数情况。可以用于求模质数下的逆元。 

  10. 线性筛除质数 每一个合数数都能分解除一个最小质因子。利用此性质筛除质数,复杂度 O(n)。 

  11. KMP 字符串匹配
       预处理模式串的失配转移参数 next[i],若下一位失配则指针 cur 跳转到 next[cur]。 若cur = 0则结束跳转。复杂度O(n+m)。 

  12. 字符串哈希 

  设定哈希种子为一个质数,必须大于字符集大小。如果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NOIP(全国计算机科学与技术高级程序设计竞赛)是中国的一项重要的计算机竞赛活动,它旨在选拔和培养高中生和大学生的计算机编程能力。了解NOIP竞赛的知识点对于参加竞赛、提升编程能力都非常重要。 首先,NOIP竞赛的知识点包括各种编程语言的基础知识,如C++和Python等。参赛者需要熟练掌握基本语法、数据类型、运算符和控制流程等,以便写出正确的代码。 其次,需要了解常见的算法数据结构,如搜索算法(深度优先搜索、广度优先搜索)、动态规划、贪心算法、图论、并查集等。这些算法数据结构在解决问题时非常有用,对于提高编程效率和解决难题至关重要。 此外,还需要了解相关的数学知识,如排列组合、数论、模运算等。NOIP竞赛中的题目通常涉及到一些数学问题,掌握这些数学知识可以帮助参赛者更好地理解和解决问题。 另外,了解操作系统和计算机网络的基本知识也是必要的,如进程和线程、进程调度算法、网络协议等。NOIP竞赛中的一些题目可能涉及到操作系统和网络相关的问题,对这些知识有所了解可以在解题过程中提供帮助。 最后,NOIP竞赛中还有一些特定的题型和技巧,如字符串处理、图形学、动态规划优化技巧等。掌握这些特定的知识点技巧可以帮助参赛者提高解题的效率和准确性。 总之,NOIP竞赛的知识点非常广泛,需要参赛者有扎实的编程基础和广泛的知识储备。通过学习和实践,参赛者可以逐渐提高自己的编程能力和解题水平,从而在竞赛中获得更好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值