前言:
原本因为kma太弱,很多算法没学学了也不会用,打算设置密码给自己看。后来想了想,觉得也没有必要,既然决定了要学些东西到脑子里,就没什么好丢人的。
注:“×”意为完全没学,“O”意为学了但还不太会用的,“√”为目前基本复健成功的。
- 数据结构:
(√)线段树
(×)线段树扩展1:zkw线段树
(×)线段树扩展2:李超线段树
(O)线段树扩展3:主席树
(√)ST表——解决RMQ问题
(√)树链剖分
(√)树状数组
(√)并查集
(√)并查集小扩展:带权、扩展域、路径压缩、按秩合并
(O)Splay,fhq treap和一些奇奇怪怪的平衡树
(O)Trie
(×)CDQ分治
(√)分块
(×)分块拓展:莫队、带修莫队、树上莫队
(O)树套树我tm还不如CDQ分治
- 搜索:
(×)\(A{*}\)、\(IDA{*}\)
(√)记忆化搜索
(×)玄学剪枝
(√)BFS
(×)折半搜索
- 数学:
(O)线性筛、埃氏筛
(√)概率、期望
(O)扩展欧几里得
(O)莫比乌斯反演
(×)组合计数
(×)高斯消元
(×)BSGS、exBSGS
(×)CRT、exCRT
(×)容斥原理
(×)矩阵相关应用
(×)FFT、FWT
(×)康托展开及逆康托展开
(√)导数及其应用
(×)微积分
- 计算几何:
(×)旋转卡壳
(√)二维凸包
(×)三维凸包
(×)半平面交
(×)面积计算
(×)平面最近点对
- 字符串:
(O)KMP
(×)扩展KMP
(×)FFT求解字符串匹配
(√)manacher
(O)AC自动机
(×)后缀数组、后缀自动机
(√)字符串hash
- 动态规划:
(√)经典模型(LIS、LCS、背包等)
(O)线性DP
(×)区间DP
(O)树形DP
(×)环形DP
(×)有后效性DP
(×)状压DP
(√)单调队列优化DP
(×)数据结构优化DP
(O)斜率优化
(O)四边形不等式
(×)计数类DP
(O)数位DP
- 图论:
(O)dijkstra
(O)SPFA
(√)Kruskal
(×)基环树
(O)倍增LCA
(×)差分约束
(O)Tarjan(缩点、LCA、割点、割边、双连通)
(√)二分图染色、匹配(hungary)及扩展
(O)网络流最大流、费用流
(×)k短路
- 游戏策略:
(×)博弈论(Nim&Anti-Nim)
(×)SG函数
- 奇技淫巧常用技巧:
(×)fread读优
(O)对拍
(×)(随机算法)随机化贪心、模拟退火、爬山、粒子群优化
(×)乱搞出奇迹
(O)动态开点
(O)滚动数组
(×)循环展开与多路并行
(√)访问连续内存