五一校内集训

DAY1

语言基础

int unsigned int等等的区别以及原理

以及溢出的情况

时间复杂度的分析很详细很详细

P,NP,NPC,NP-Hard的区别(自己看的时候leng是没看懂)

常用库函数的介绍

排序:

是否基于比较

试用情况

时间复杂度

数据结构是大部头

vector、list、queue、stack

支持多种多样的操作

手动实现

一点点图论

多种概念

(学长讲课的重点和我预想的不太一样emm...

DAY2

Day2

存图

  1. 邻接表
  2. 邻接矩阵
  3. 前向星
  4. 链式前向星
  5. 定义:n个节点,n-1条边的连通无向图

无向无环连通图

任意两个节点之间有且仅有一条简短路径

  1. 定义的证明、
  2. 森林
  3. 生成树
  4. 有根树-无根树
  5. 深度(高度)
  6. 无根树:的叶节点是这棵树上度数不超过1的节点
  7. (只有一个节点的无根树)
  8. 父亲节点(根节点无父亲节点)
  9. 一个节点的祖先
  10. 子节点
  11. 叶子结点:无子节点
  12. 深度(从0定义)
  13. 特殊树:链,菊花图,二叉树(真二叉树,满二叉树,完全二叉树)
  14. Dfs           O(n+m) O(n)
  15.  
  16. Dfs序列:dfs括号序列—--------可以唯一确定一个有根树(反过来也成立
  17. 二叉树上的dfs序列:先序遍历,中序遍历,后序遍历
  18. 生成树 dfs树

存树

  1. Bfs O(n+m) O(n)
  2. (遍历出边)
  3. 二分图(bipartite Graph)
  4. 有向无环图

拓扑排序

l  时间空间都是线性的

l  有向无环图DAG

l   

字符串

l  朴素算法

l  Kmp

l  Trie

l  AC自动机

数据结构

l  堆(heap)

维护数的集合

功能:

  1. 插入一个元素inset
  2. 查询最小值getmin
  3. 删最小值deletemin
  4. 减小一个值desreasekey

(小根堆)

  1. Merge把一个堆得所有元素插到另一个堆中

类型:

  1. 二叉堆O(logn)
  2. 二项堆
  3. Fibonacci堆O(1)

二叉堆

  1. 二叉树(完全二叉树)
  2. 任一个节点的权值不大于他子节点的权值(根节点最小)

插入:

  1. 放入
  2. 交换-向上调整
  3. 时间复杂度O(logn)
  4. 满了就新增加一列

删除:

  1. Emm。。。

                                减小权值:

  1. 向上调整

Qwq:

  1. 编号
  2.                合并堆,向下调整---时间复杂度O()
  3. 二叉堆
  4. 优先队列

线段树

树状数组

分块

O(1)—O(根号n)

O(根号n)---O(1)

(颓颓颓---

DAY3.4

(又被咕咕咕的两天)

(我觉得我写的没有什么意义

Tarjan

[有向]

O(n+m)

dfn:时间戳

low:本节点及其子树

无强联通分量==邮箱五环

强联通分量-->缩点

[无向]

无强联通分量

割点----删掉不连通(点)

桥------删掉不连通(边)

点双联通

变双联通

fib堆:decrease O(1)

    deletemm O(logn)

最短路

(可以不存在,不唯一)

单元最短路---sssp

所有节点对的---apsp

不过重复堤岸边

n   n-1

1.floyd(求APSP)

O(n3

2.bellman-ford(SSSP)

O(nm)

有向无环

dis[u]

dis[v] > dis[u] + len(u,v)

(松弛)

可判断是否有福泉环

3.spfa

O(n2

4.dijkstra

(SSSP)

分两个集合

确定的 和 未确定的

非负边权

枚举出边 最小 加入 再枚举

最小生成树

Kruskal(贪心)

并查集

(边排序)

加边

prim

(加点)

O(nlogn+mlogn)

O(nlogn+m)

像dijkstra

DP

状态

状态和状态之间存在转移

策略

无后效性

==无环

有向无环图

树上DP

图上DP

背包

数位DP

(剪枝)

数学:数论、组合数学

埃氏筛

质因数分解

pollard-rho

RSA算法-利用

组合数

高精

最小平行生成树

图论数据结构

并查集

RMQ 区间最值查询

暴力

线段树

分块

分治

倍增DP

LCA

倍增DP

tarjan-并-LCA

离线

环套树

排序2

quick sort

期望O(nlogn)

linear solect

nth_element

堆排O(nlogn)

常数大

(正确性听得云里雾里的...)

(...)

原文地址:https://www.cnblogs.com/darlingroot/p/10800728.html