N.O.W,O.R,N.E.V.E.R--12days to LNOI2015

  • 双向链表
  • 单调队列,双端队列
  • 单调栈

    1. 带权并查集
    1. hash 表
  • 双hash
    1. 树状数组
    1. 线段树合并
    1. 平衡树
  • Treap 随机平衡二叉树
  • Scapegoat Tree 替罪羊树
  • 朝鲜树
    1. 块状数组,块状链表
    1. 树套树
  • 线段树套线段树
  • 线段树套平衡树
  • 平衡树套线段树
  • 6.可并堆
  • 左偏树
  • *配对堆
    1. KDtree,四分树
  • 1.4 可持久化数据结构
    1. 可持久化线段树
  • 主席树
      • 可持久化平衡树
      • 可持久化块状数组
    1. KMP
    1. AC 自动机
    1. 后缀数组
    1. *后缀树
    1. *后缀自动机
    1. 字典树 Trie
  • 7.manacher
  • prim
  • kruskal
    1. 最短路
  • 次短路
  • K短路
  • spfa
  • dijkstra
  • floyd
    1. 图的连通
  • 连通分量
  • 割点,割边
  • 强联通
  • 双联通
  • 分量
  • 最大子串和第k大
    1. 网络流
  • 最大流
  • 最小割
  • 费用流
  • 分数规划
    1. 树相关
  • 树上倍增
  • 最近公共祖先
  • 树链剖分
  • 树的分治算法(点分治,边分治)
  • 动态树 (LCT,*树分块)
  • prufer编码
    1. 拓扑排序
    1. 欧拉图
    1. 二分图
  • *KM算法
  • 匈牙利算法
  • 最大匹配
  • 最优匹配
  • 1.筛法
  • 斐蜀定理
  • 更相减损术
    1. 欧拉函数与*降幂大法
    1. 费马小定理
    1. 排列组合
  • lucas定理
    1. 乘法逆元
    1. 数学期望与概率
    1. 博弈论
  • sg函数
  • 树上删边游戏
    1. *拉格朗日乘子法
    1. 线性规划与网络流
    1. 单纯型线性规划
    1. 辛普森积分
    1. 模线性方程组
    1. 容斥原理与莫比乌斯反演
    1. 置换群
    1. 快速傅里叶变换
    1. *大步小步法
  • 1.8 动态规划
    1. 一般,背包,状压,区间,环形,树形,数位动态规划
  • 记忆化搜索
  • 斯坦纳树
  • 背包九讲
    1. 斜率优化与* 四边形不等式优化
    1. 环 + 外向树上的动态规划
    1. *插头动态规划
  • 1.9 计算几何
    1. 计算几何基础
    1. 三维计算几何初步
    1. 梯形剖分与三角形剖分
    1. 旋转卡壳
    1. 半平面交
    1. pick定理
    1. 扫描线
    1. bfs,dfs
    1. A* 算法
    1. 迭代加深搜索,双向广搜
  • 1.11 特殊算法
    1. 莫队算法,*树上莫队
    1. 模拟退火
    1. 爬山算法
    1. 随机增量法
  • 1.12 其它重要工具与方法
  • 1.模拟与贪心
    1. 二分,三分法
    1. 分治,CDQ分治
    1. 高精度
    1. 离线
    1. ST表
  • 1.13 STL
    1. map
    1. priority_queue
    1. set
    1. bitset
    1. rope
  • 1.14 非常见算法
    1. *朱刘算法
    1. *弦图与区间图
  • }
  • http://www.lydsy.com/JudgeOnline/problemset.php?search=OI
  • http://www.lydsy.com/JudgeOnline/problemset.php?search=
  • a)ext 欧几里德算法
  • b)o(n) 筛法求素数 && o(n)->phi
  • c) 康托展开
  • d) 逆康托展开
  • e) 同余定理
  • f) 次方求模
  • 莫比乌斯反衍
    1. 计算几何初步
  • a) 三角形面积
  • b) 三点顺序
    1. 学会简单计算程序的时间复杂度与空间复杂度
    1. 二分查找法
    1. 简单的排序算法
  • a) 冒泡排序法
  • b) 插入排序法
    1. 贪心算法经典题目
    1. 高等数学
    1. 学会使用简单的DOS命令(较重要)
  • a) color/dir/copy/shutdown/mkdir(md)/rmdir(rd)/attrib/cd/
  • c) 学会使用C语言调用DOS命令
  • d) 学会在命令提示符下调用你自己用C语言编写的程序,并使用命令行参数给自己的程序传参(比如自己制作一个copyfile.exe实现与copy命令基本功能一致的功能)
  • e) 学会编写bat批处理文件
    1. 学会编辑注册表(包括使用注册表编辑器regedit和使用DOS命令编辑注册表)
  • }
  • 大一下学期:{
    1. 学会BFS与DFS
  • a) 迷宫求解(最少步数)
  • c) 图像有用区域(NYOJ92)
  • d) 树的前序中序后序遍历
    1. 动态规划(15题以上),要学会使用循环的方法写动态规划,同时也要学会使用记忆化搜索的方法。
  • a) 最大子串和
  • b) 最长公共子序列
  • c) 最长单调递增子序列
  • e) RMQ算法
    1. 学会分析与计算复杂程序的时间复杂度
    1. 学会使用栈与队列等线性存储结构
    1. 学会分治策略
    1. 排序算法
  • a) 归并排序
  • b) 快速排序
  • c) 计数排序
    1. 数论
  • a) 扩展欧几里德算法
  • b) 求逆元
    1. 博弈论
  • a) 博弈问题与SG函数的定义
  • b) 多个博弈问题SG值的合并
    1. 图论:
  • a) 图的邻接矩阵与邻接表两种常见存储方式
  • b) 欧拉路的判定
  • c) 单最短路bellman-ford算法dijkstra算法。
  • d) 最小生成树的kruskal算法与prim算法。
    1. 学会使用C语言进行网络编程与多线程编程
    1. 高等数学
    1. 线性代数
  • a) 明确线性代数的重要性,首先是课本必须学好
  • b) 编写一个Matrix类,进行矩阵的各种操作,并求编写程序解线性方程组。
  • c) 推荐做一两道“矩阵运算”分类下的题目。
  • 以下为选修,随便选一两个学学即可:
    1. (较重要)使用C语言或C++编写简单程序来调用一些简单的windows API,或者在linux下进行linux系统调用,其目的是明白什么是API(应用程序接口)。
    1. 试着实现STL的一些基本容器和函数,使自己基本能看懂STL源码
    1. 图论
  • a) 使用优先队列优化Dijkstra和Prim
  • b) 单源最短路径之SPFA
  • c) 差分约束系统
  • d) 多源多点最短路径之FloydWarshall算法
  • e) 求欧拉路(圈套圈算法)
    1. 进行复杂模拟题训练
    1. 拓扑排序
    1. 动态规划进阶
  • a) 完全背包、多重背包等各种背包问题(参见背包九讲)
  • b) POJ上完成一定数目的动态规划题目
  • c) 状态压缩动态规划
  • d) 树形动态规划
    1. 搜索
  • a) 回溯法熟练应用
  • b) 复杂的搜索题目练习
  • c) 双向广度优先搜索
  • d) 启发式搜索(包括A*算法,如八数码问题)
    1. 计算几何
  • a) 判断点是否在线段上
  • b) 判断线段相交
  • c) 判断矩形是否包含点
  • d) 判断圆与矩形关系
  • e) 判断点是否在多边形内
  • f) 判断点到线段的最近点
  • g) 计算两个圆的公切线
  • h) 求矩形的并的面积
  • i) 求多边形面积
  • j) 求多边形重心
  • k) 求凸包
    1. 数据结构
  • a) 单调队列
  • b) 堆
  • c) 并查集
  • d) 树状数组
  • e) 哈希表
  • f) 线段树
  • g) 字典树
    1. 图论
  • a) 强连通分量
  • b) 双连通分量(求割点,桥)
  • c) 强连通分量与双连通分量缩点
  • d) LCA、LCA与RMQ的转化
  • e) 二分图匹配
  • i. 二分图最大匹配
  • ii. 最小点集覆盖
  • iii. 最小路径覆盖
  • iv. 二分图最优匹配
  • v. 二分图多重匹配
  • f) 网络流
  • i. 最大流的基本SAP
  • ii. 最大流的ISAP或者Dinic等高效算法(任一)
  • iii. 最小费用最大流
  • iv. 最大流最小割定理
    1. 动态规划多做题提高(10道难题以上)
    1. 数论
  • a) 积性函数的应用
  • b) 欧拉定理
  • c) 费马小定理
  • d) 威乐逊定理
    1. 组合数学
  • a) 群论基础
  • b) Polya定理与计数问题
  • c) Catalan数
    1. 计算几何
  • a) 各种旋转卡壳相关算法
  • b) 三维计算几何算法
    1. 学好计算机组成原理
    1. 图论二
  • a) 网络流的各种构图训练(重要)
  • b) 最小割与最小点权覆盖等的关系(详见《最小割模型在信息学竞赛中的应用》一文)
  • c) 次小生成树
  • d) 第k短路
  • e) 最小比率生成树
    1. 线性规划
    1. 动态规划更高级进阶
    1. KMP算法
    1. AC自动机理论与实现
    1. 博弈论之Alpha-beta剪枝
  • }
    1. 自学完离散数学
    1. 自学概率论的部分章节
    1. 自学操作系统部分章节
    1. 一些如蚁群算法,遗传算法,模拟退火算法等人工智能方面应用较广的随机性算法。
    1. 把编译原理上学的东西应用到编程中:如DFA,NFA,还有语法分析的各种方法等。
  • TOP LIST--DS
  • Splay
  • Treap
  • 平衡树
  • AVL
  • 替罪羊树
  • 朝鲜树
  • LCT
  • 分块数据结构
  • 树套树系列
  • 函数式线段树
  • 后缀兄弟
  • 可持久化数据结构系列
  • TOP--Algo
  • KMP
  • 马拉车
  • LCA系列
  • 局部敏感哈希
  • ***【你要多写的basic
  • 快速mi
  • 线性筛法求质数、欧拉函数
  • 线段树(1754_with_pool)
  • 树状数组(区间(通过前缀和之差))
    • Splay
    • KMP
    • 马拉车
    • Trie
    • AC自动机(指针QAQ)
  • .

你可能感兴趣的:(ln)