zoukankan      html  css  js  c++  java
  • 五一校内集训

    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)

    常数大

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

    (...)

  • 相关阅读:
    C#中DateTime.Ticks属性及Unix时间戳转换
    SQL Server:统计数据库中每张表的大小
    SQL Server:统计数据库中每张表的大小
    SQL Server:统计数据库中每张表的大小
    SQL Server 2008 R2:快速清除日志文件的方法
    SQL Server 2008 R2:快速清除日志文件的方法
    SQL Server 2008 R2:快速清除日志文件的方法
    ACM_HDU 1231 最大连续子序列 (dp)_代码分析
    斑马难题Step by Step
    多种配置的分布式配置中心
  • 原文地址:https://www.cnblogs.com/darlingroot/p/10800728.html
Copyright © 2011-2022 走看看