NOIP2018退役前在做什么?有空吗?可以来拯救吗?
模拟
蒟蒻眼里的模拟都是黑题
打表
数论必备
二分
据说 90 % 90\% 90%的程序员都打不对的高级算法
int L=1,R=1e9,mid;
while(L<R)
{
mid=L+R>>1;
if(check(mid)) L=mid+1;
else R=mid;
}
//********************
int L=1,R=1e9,mid;
while(L<R)
{
mid=L+R+1>>1;
if(check(mid)) L=mid;
else R=mid-1;
}
搜索
搜索写得好,暴力也能跑
DFS,BFS,迭代加深DFS,优先队列BFS,双向DFS/BFS,A*,IDA*
毒瘤剪枝技巧
数论
这辈子都学不会的东西
筛素数——欧拉筛,线性筛
乘法逆元
扩展欧几里得EXGCD
中国剩余定理/扩展中国剩余定理EXCRT (有种今年会考的预感)
组合数 —— 递推和O(m)单次计算,二项式定理
Lucas定理,扩展Lucas(应该不会毒瘤到考扩展)
BSGS 拔山盖世(考不到的吧)
0/1分数规划
Catalan卡特兰数(貌似初赛考了很多次但复赛还没考过?)
高斯Gauss消元 (快忘光了)
欧拉phi函数(也快忘光了)
图论
最短路——Dijkstra,SPFA,Floyd
最小生成树—— Kruskal,Prime
说不定今年会出现这个
关于Kruskal
- 它死了
Kruskal重构树—— 很神奇的一个东东,NOI2018D1T1认识到的,大概不会考吧
Trajan——这个神仙发明了一堆图论算法,至今会用的也就只有强连通分量了
二分图 —— 挺难说的
2-SAT
差分约束
网络流–最大流,费用流,最小割 (肯定考不到的)
数据结构
并查集
线段树——高频考点
树状数组——也是高频
平衡树——Treap (壮哉我Treap邪教!!!),Splay (序列之王)
堆——用priority_queue就好,虽然是重载符号反过来的毒瘤
树链剖分 (疑似考点)
LCA——倍增,树剖 (还是树剖的最好写)
点分治
分块
LCT
主席树
可持久化Trie
树套树——各种数据结构乱套
单调队列/单调栈 —— 一般优化DP用
左偏树
动态规划
背包问题——每次变一下就不会
矩阵优化DP
区间DP
记忆化搜索
期望DP——(当年2016考前都是一口毒奶"肯定不考期望")
动态规划–前缀和优化DP
动态规划–数据结构优化DP (树状数组,线段树,单调队列 什么的)
动态规划–数位DP
动态规划–斜率优化DP(这个肯定不考的)
动态规划–树形DP
动态规划–状压DP (好几年都出过状压)
字符串
貌似近十年都没有过字符串算法的题,算了不奶今年了
KMP—— 看毛片算法
字典树Trie
AC自动机 (学会了也不能自动AC)
其他算法
- 模拟退火 ( 壮哉我退火邪教!!!)
- 珂朵莉树ODT( 骗分导论大力推荐骗分利器!!!)
莫队—— 骗分吧,应该不会有正解这个的
倍增——很重要
CDQ分治——考不到
STL
map,priority_queue,queue,stack,set什么的要会用
还有黑科技bitset
OI知识体系图,WPS的非会员水印瞩目