计划
最近的状态都不是很好>_<,没有一些明确的目标,所以得要制定一些计划才能够得到提高:
目标一:USACO 最近已经刷到了2.3了,在今年结束前得要刷完他。。。
目标二:URAL 最近的题数过了46题,后面都是在这刷了,得要刷到Rank500前。。。
目标三:BZOJ 很好的一个OJ,题目经典,但是相对来说比较难,所以题目数量最要求50题(现在已近10题了)以上吧,明年开始全力刷。。。
目标四:POJ 在学新的算法的时候,我喜欢在poj上刷,因为比较容易找到分类和题解^^,所以题目数量应该超过400(现在270)
目标五:新的算法 引用大牛的(会了的话,在前面//吧)
更新于2013-2-7:
貌似没有一个目标能过完成的 = =。
今年仍需努力- -
1.基础知识(待扩展,但觉得只要做USACO就可以掌握)
2.搜索
-N重循环
//-BFS
//=双向
=判重
+HASH(尤其是字符串HASH)
+分段HASH
+各种数据结构判重(Tire树、平衡树等)
=A*
//-DFS
/=最优化剪枝
/=可行性剪枝
/=记忆化搜索
-ID-DFS
-ID-A*
-DLX
-近似算法及其他
=模拟退火
=遗传算法
=随机调整
=随机贪心
3.DP(主要是自己做题总结,感悟+数学能力)
-线性DP
=一维线性DP
=二维线性DP
-树形DP
-插头DP
-优化
=四边形优化 (时间)
=斜率优化 (时间)
=单调队列 (时间)
=状态压缩 (空间)
4.字符串操作
-c++的string
//-KMP
-ExKMP
-最小表示法
//-Tire树
//-AC自动机
-后缀数组
-后缀树(好像被淘汰了)
-后缀自动机【这个可以忽略】
5.数据结构
//-链表
//=普通链表
=跳跃表
=Dancing links
-队列
//=普通队列
//=循环队列
/=单调队列
/-栈
//=手工栈搜索
/=表达式处理
-堆
//=哈夫曼树
=可合并堆(*)
+左偏树
+斜堆
+二项堆
//-并查集
//-Trie树
//=AC自动机
=Trie图
//-树状数组
-线段树(重点推荐)
-平衡树
=红黑树(知道理论+会用set和map)
/=AVL
/=Treap
//=超快SBT(重点推荐)
=万能Splay(重点推荐)
-块状链表(*)
-树链剖分(*)
6.图论与树
//-图的联通性
//=floodfill
//=BFS分层
//=两次BFS求强连通分量
//=拓扑排序
=关键路径
=求环
/=欧拉回路
=汉密尔顿回路
//=Tarjan算法
//+求强连通分量
//+求割点
+求桥
/-最短路
//=floyd
//=Dijstra
//=SPFA
+SLF和LLL优化
=Dijstra+heap
//=Bellman-ford求差分约束系统
/=floyd*求最小环
=K短路
=限制条件最短路
=分层图最短路
=状态压缩最短路
-生成树
//=prim
//=Kruskal
=prim+heap
=破环法求最小生成树
=动态最小生成树
//=次小生成树
=最大价值比生成树
=特殊生成树
=统计生成树的个数(组合数学)
-树上问题
-LCA和RMQ
-节点到根的距离
-树的直径
-树的中心
-任意点对间距离
- 2-SAT问题
7.网络流
-二分图
//=匈牙利算法
=KM算法
=覆盖集与独立集
=最小路径覆盖
-最大流
=DINIC
/=SAP
=HLLP
=有上下界的最大流
-最小割
=求当前流的最小割
=平面图最小割转最短路
=闭合图
=最小点权覆盖集与最大独立点权集
=0/1分数规划
=最大密度子图
-费用流
/=最短路增广费用流
=zkw-费用流最小费用可行流
-构图技巧(请学习网络流24题,作者:郭家宝)
8.数论
-gcd
=stein算法
=欧几里得算法
=拓展欧几里得算法
-质数
=MR测试
=快速幂
=sqrt(n)判定
=反质数
=算数基本定理及推论
-同余
=威尔逊定理
=费马小定理
=欧拉定理
=中国剩余定理
-进制相关
=精制转换=高精循环小数
=Self-number
-其他
=px+qy命题
=求n!位数的方法及推广
9. 组合数学
-排列组合数
-Polya原理
-鸽笼原理 && 容斥原理
-Fibonacci数列,Catalan数列,Stirling数
-母函数
-置换
10.计算几何
11.博弈论
-尼姆博奕(Nimm Game)
-威佐夫博奕(Wythoff Game)
-巴什博奕(Bash Game)
12.概率论
13.高等数学与线性代数
-高斯消元法