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