【总结】在NOIP之前一些知识的总结和看法

在海亮的20天中,我深深的感受到了我的许多不足,也深深的明白了自己还有许多的路。

为了明确自己未来的道路,我决定在这里整理一下内容


一、算法部分

1、位运算。。(或许算半个算法把)(我草这是什么东西。。)

         对于位运算我曾多次看《算法竞赛》第一章,但多以失败告终。。

            不过在这次海亮集训结束后,我一定会重整心思,来学习位运算

2、二分。。(已经基本掌握雏形)

    对于二分的基本木板我已经熟悉,在这次海亮集训中我也做了许多基本的二分答案以及二分查找的题目,已经对二分的木板有了一个大概的了解,也明白了题目中一旦出现“最大的最小”或者“最小的最大的”之类的话的话有百分之八十的概率是二分查找(不过也有可能是最小生成树)

 3、贪心。。(总是想不清贪心策略)

      至今对于我来说贪心还是一个很抽象的概念。。从接触信奥到现在。我也听过了不下5遍的贪心。。但每次都只能听懂题目,却很难想出贪心的策略。虽然我知道这东西是要去感悟的。。但却无论如何也只能悟出一点点奥妙。。还仍然有很多东西等着我去探索。。努。。力。。。吧啊啊啊。。

 4、搜索。。(已经掌握初等搜索)

       搜索这个东西。。十分的厉害,。。都说暴力出奇迹。。搜索就是这句话的模范了把。。几乎每一道题目都会有一种暴搜的做法。。骗个部分分。。所以搜索还是非常重要的

         i:dfs(深度优先搜索)

             所谓深度优先搜索,就是按照深度优先的顺序对问题进行搜索。。

            但是深度优先搜索一般都与TLE相伴

             所以各种大佬就又在搜索里面搞了一个博大精深的剪枝。。我基本没掌握

      ii:bfs(广度优先搜索)

            所谓广度优先搜索,就是“广”,不再是深度优先,而是现有某一个状态扩散到这个点能扩散到的一切状态,在分别由每个状态进行扩散。

              但是广度优先搜索很明显不能用递归实现(毛想想就好了),所以各位大佬又无脑的用了队列优化,来实现广度优先遍历。广度优先搜索跟dfs不同,它没有冗余,效率较高。但以什么东西作为bfs的条件就比较困难找了

5、动态规划(简称dp)

      这东西。。听毒瘤的。。其抽象程序胜于贪心。。难度胜于搜索。。

     动态规划的基础便是递推以及记忆化搜索。一般用一个数组来表示一个状态,利用“无后效性”来用当前状态更新接下来的状态以得到最优解(具体等后天学习动态规划之后再说)

 6、图论
    图论这东西还是比较重要的。但也是非常困难的。。(都怪欧拉。弄什么图论。)
图论又分好几个大块
  i:最短路
  ii:最小生成树
------目前我会的图论知识这两块,也只是冰山一角了--------
当然图论还有以下高端东西:
 iii:网络流
iiii:树的直径和公共祖先
iiiii:差分约束等各种高端东西





二、数据结构

1、栈和队列
         栈和队列都是最基本的数据结构。
      i:栈

         栈是一种先进后出的数据结构。

         可以用来维护一些奇奇怪怪的东西

     ii:队列

        队列是一种先进先出的数据结构

        也可以维护一些奇奇怪怪的东西(比如bfs)

2、堆
      对是一种比较高级的数据结构。是一种时间复杂度为O(logn),能在其中保持从大到小顺序或从小到大顺序排列的结构。它能维护一些具有很明显单调性的问题

3、并查集
      并查集是一个可以动态维护若干个不重叠的集合,并支持和并于查询的数据结构。
     可以做一些奇奇怪怪的题目

当然目前我会的数据结构只有这么一些。
一些相对高级的数据结构如线段树。树状数组等几天我听完课后就会写一篇博客+


三、数论

数论这种东西就博大精深了、、

我就不详解了。知识列举一下大致的知识点

1、质数与合数
2、同余定理
3、矩阵乘法
4、高斯消元
5、组合排列
6、欧拉函数与欧拉定理
7、容斥原理
8、概率期望
9、博弈论等





猜你喜欢

转载自blog.csdn.net/huang_ke_hai/article/details/81030927
今日推荐