zoukankan      html  css  js  c++  java
  • 叶青学长竞赛学习知识目录

    动态规划
    	基础
    		线性dp、区间dp,主要就是状态方程的设计和状态的转移
    		背包dp,及其扩展 《背包九讲》是很好的学习资料
    		用dp递推概率、期望(dp求期望一般分为两种。一种是dp状态保存的是概率,则期望=概率*花费。另一种是dp状态直接保存期望,这样一般都是逆推的。)
    		树形dp(有些会套个背包dp,有些需要多次树形dp)
    		状态压缩dp
    		数位dp
    		RMQ、二维RMQ
    	进阶
    		dp优化
    			使用数据结构优化,如线段树、树状数组、单调队列、单调栈、维护前缀和 ...
    			斜率优化(具有单调性可直接用单调队列或者二分,不具单调性要用平衡二叉树动态维护凸壳)
    			四边形不等式优化
    		插头dp
    数据结构
    	基础
    		队列、栈
    		树、图的存储、遍历 邻接表和邻接矩阵
    		单调队列、单调栈
    		线段树、树状数组
    		并查集、带权并查集
    		堆、优先队列
    		平衡二叉树
    			Treap
    			Spaly必须会
    			[红黑树]
    			[AVL树]
    		Hash散列表
    	进阶
    		分块数组(分块的思想很强大)
    		二维线段树(就是线段树套线段树,其实还有个[矩形树])、二维树状数组(就是树状数组套树状数组)
    		树链剖分
    		树套树,如线段树套平衡二叉树、树状数组套平衡二叉树 ...
    		Link-Cut-Tree(解决一类动态树的问题,可以说是树的剖分+Splay)
    		可持久化数据结构,如主席树、可持久化线段树、可持久化字典树、可持久化并查集、可持久化Treap ...
    搜索
    	基础
    		深搜
    		广搜
    		记忆化搜索(也可以放到dp分类里)
    		使用优先队列的广搜
    		模拟退火、爬山算法
    	进阶
    		搜索剪枝
    		双向广搜
    		A*、IDA*
    		舞蹈链
    图论
    	基础
    		最短路(Dijkstra、Spfa、Floyd)
    		最小生成树(Prim、Kruskal)
    		拓扑排序
    		二分图最大匹配(匈牙利算法)
    			二分图的最小顶点覆盖
    			DAG图的最小路径覆盖
    			二分图的最大独立集
    		二分图最优匹配(KM算法)
    		二分图多重匹配
    		网络流
    			最大流(Dinic、Sap)
    			最小费用最大流
    			带上下界的最大流
    		有向图强连通分量的Tarjan算法
    		最近公共祖先 Tarjan算法实现与RMQ实现各有千秋
    		差分约束系统
    		欧拉回路
    		构造哈密顿回路
    		最大团
    		无向图全局最小割(StoerWagner)
    	进阶
    		次小生成树
    		最优比率生成树
    		[度限制生成树]
    		[第k小生成树]
    		次短路、第k短路
    		网络流 胡伯涛的《最小割模型在信息学竞赛中的应用》是很好的学习资料
    			最大权闭合图
    			最大密度子图
    			二分图最小点权覆盖集
    			二分图最大点权独立集
    			区间k覆盖的模型
    			平面图网络流
    		无向图的割点和桥、边双联通分量、点双联通分量
    		2-SAT
    		最小树形图
    		一般图匹配
    		生成树计数、最小生成树计数
    数学
    	基础
    		数论
    			欧几里得算法、扩展欧几里得算法
    			乘法逆元
    			中国剩余定理
    			欧拉函数
    			欧拉定理
    			Miller_Rabin大素数判定
    			Pollard_rho大整数拆分
    		线性代数
    			矩阵乘法&快速幂
    			高斯消元
    		组合数学
    			容斥原理
    			鸽巢原理
    			[母函数]
    			[稳定婚姻问题]
    		概率统计
    		群论
    			置换群
    			BurnSide引理
    			Polya定理
    	进阶
    		莫比乌斯反演
    		BSGS
    		FFT
    		......
    		数学的进阶内容太多了
    字符串
    	基础
    		KMP、扩展KMP
    		字典树
    		最长回文子串的Manacher算法
    		字符串最小/最大表示法
    		许多字符串问题可以用dp甚至贪心求解
    	进阶
    		AC自动机、Trie图
    		回文树
    		后缀数组、后缀自动机、后缀树
    		序列自动机
    计算几何
    	基础
    		向量的点积、叉积
    		极角排序
    		Graham扫描法
    		二维最近点对
    		最小覆盖圆
    		圆面积并
    		......
    		计算几何的题目各种各样
    	进阶
    		半平面交
    		旋转卡壳
    		三维凸包
    		......
    		计算几何的题目各种各样
    杂
    	博弈
    		一些经典的博弈、SG函数、必胜必败态搜索
    	STL
    		vector、set/mutiset、map、queue、stack、deque、string、rope...
    	排序
    		虽然都用sort但是堆排序的原理还是要知道的
    	分治
    		普通的分治
    		CDQ分治
    		整体二分
    		树分治
    	二分、三分
    	2-points
    	01分数规划
    	构造
    	树的同构(树的hash)
    	莫队算法、[树上莫队]
    	找规律、打表
    
    带[]的感觉没必要学
    

      

  • 相关阅读:
    Mybatis中#{}与${}的区别:
    JDBC
    JavaScript与jQuery的区别
    JavaScript 高级
    AdminLTE
    servlet过滤器与监听器
    数据库连接池
    大对象数据LOB的应用
    Serializable
    泛型
  • 原文地址:https://www.cnblogs.com/bestefforts/p/9389289.html
Copyright © 2011-2022 走看看