省选前的总结

考场策略:算法

  1. 心态要自信,不要焦虑。
  2. 作不出题的时候先放松,去上厕所,洗脸。
  3. 不要放弃,广开思路,尽可能多试一些学过的算法,往每一个方向都深刻思考,由于每一个方向都有多是正解。
  4. 考场上不要写代码也不要切题。要合理分配时间,掌控考试过程,切忌贪心写题。

算法与数据结构:数组

树:(动态)点分治,DFS序,树链剖分,长链剖分,动态树,dsu on tree,树形DP,lca,虚树,树上差分,树上高斯消元,kruskal重构树,动态DP,ETT,prufer序列。网络

点分治:有两种统计方式,一种是逐个子树统计,还有一种是所有搞到一块儿而后一块儿统计,想办法去重。数据结构

动态点分治:每层的重心之间连边,树高log。维护点分子树到该点的信息,可套线段树。通常要消去每一个点分子树内部的影响。不可减信息用DFS序来消去,对每一层的点分子树维护在原树上的DFS序。经常使用O(1)lca。函数

树链剖分:可优化连边,可预处理作到一个log。优化

长链剖分:O(1)k级祖先,O(n)处理树上与深度有关的信息,可与猫树结合作到O(1)回答询问。spa

动态树:可维护子树信息,树上染色,边双连通份量,某种生成树。可与ETT/sam配合。指针

dsu on tree:树上启发式合并。能够拿来打暴力。排序

树形DP:可用一维状态表示在子树外xxxx。可用长链剖分优化。转移的时候可新开一个数组复制过去,别忘了给原数组赋0。逐子树合并。可二次扫描与换根法。字符串

lca:O(1),可用来处理一些树上可减信息。

虚树:可套总体二分 + 线段树合并。按照DFS序排序。

树上差分:进子树和出子树的时候分别统计一次。也可用到根路径和lca来差分,常与主席树结合。

树上高斯消元:每一个点的信息能够只被父亲表示。设出系数而后化式子。

kruskal重构树:树上倍增。能够建两棵,用DFS序转到二维平面。

动态DP:树剖维护线段信息。

ETT:有根树splay维护括号序列。

prufer序列:每一个点的度数为出现次数 + 1。可用于计数。

数据结构:(可持久化)线段树(合并/分裂)(猫树/吉司机线段树),树状数组,左偏树,splay,非旋treap,STL,并查集,单调栈,树套树,ST表,链表。

线段树:势能分析,每一个数被操做次数不会超过一个上限(通常是log次),不然暴力重构。可持久化就是沿用以前的节点,标记永久化。

线段树合并:分为可持久化和不可持久化两种,常与sam/树上问题嵌套。

线段树分裂:相似非旋treap的写法。把前k大和后k大分开。

猫树:每一个区间预处理出左边,右边到中点的答案。查询时直接O(1)找到对应节点(O(1)lca或二进制)而后O(1)查询。

吉司机线段树:区间对某个数取max。维护最小值,最小值个数和严格次小值。

树状数组:能够一个log找第k大,维护前缀最值。值域小的时候甚至能切普通平衡树。常与CDQ分治/总体二分嵌套。二维树状数组就是树套树。

左偏树:可并堆,可以完爆普通手写堆。记得跟线段树同样维护一个rt[],每次修改rt。能够额外用一个并查集来维护根的编号。

splay:可以维护序列/数值集合。

非旋treap:能够可持久化。

STL:set,multiset,map,priority_queue,vector,bitset。

并查集:可撤销,可带扩展域/带边权。

单调栈:用于各类神奇的发掘性质题,lis,DP优化当中。

树套树:用来处理二维信息。有时可用总体二分代替。

ST表:可优化连边,可O(1)求区间最值,可用于O(1)lca。

链表:可维护一些O(1)插入删除(必须按顺序)的信息,有时会在莫队中使用。

图论:网络流,tarjan,最短路,差分约束。

网络流:主要是建图,要加当前弧优化。

tarjan:求解连通性信息,多做为一道题目的一部分。

差分约束:最大值求最短路,最小值求最长路。

字符串:hash,后缀自动机,AC自动机,manacher,KMP,回文自动机,trie。

hash:双模数,可平衡树维护hash值。

后缀自动机:通常与线段树合并结合,有时与lct结合,不少时候用fail树转成树上问题。可用后缀树构建sa。

AC自动机:每一个点都是一个前缀,跳fail是跳后缀。可与DP,矩阵快速幂结合。

manacher:O(1)求解以每一个位置为中心的回文串。

KMP:可改变第二次匹配时的匹配条件来作到一些奇怪的匹配。

回文自动机:求解全部本质不一样回文串,每一个字符结尾的回文串信息。

trie:可用01trie来处理异或,可持久化01trie来代替可持久化平衡树。可建trie sam。

多项式:FFT,多项式操做,FWT。

FFT:可处理字符串匹配,卷积求方案,可与点分治结合。可用原根把*变成+作FFT。

多项式操做:多出现于计数题中。经常使用倍增与牛顿迭代。

FWT:位运算卷积。求子集和(高维前缀和)而后再差分回去。可优化子集DP(FST)

计算几何:叉积,凸包,辛普森积分。

叉积:x1y2 - x2y1是有向面积。

凸包:左右横着扫两次。可用于斜率优化,可用set维护。

辛普森积分:分多段积分。精度要求是15eps,公式是(f[l]+4f[mid]+f[r])(r-l)/6。

DP:状压DP,区间DP,插头DP,斯坦纳树,斜率优化,决策单调性优化,数位DP。

可按照大小依次DP。可把指望几率转为计数问题。可改变DP状态与值的对应关系:f(x) = a ->  f(a) = x。

状压DP:经常使用于打暴力,可分为二进制/多进制状压,可预处理状态集合。可压轮廓线/点集,可DFS转移一行/一格一格转移。

区间DP:可多加一维状态表示把当前变成什么样。

插头DP:状压轮廓线上的左右插头。

斯坦纳树:状压连通的关键点集,子集转移以后spfa转移。

斜率优化:发现DP的转移代价有个乘积,维护凸包。可与CDQ分治结合。

决策单调性:分治写法是[l, r]区间的最优决策所有来自于[L, R]。维护决策栈写法是维护每一段决策分别是啥,以及段的结尾。

数位DP:预处理随便选的方案数(记忆化搜索),而后枚举在哪一位开始不严格相等。

计数:容斥原理,生成函数,组合数学,Min-Max容斥,二项式反演。

容斥原理:从刚好转为至少/至多。而后按照集合大小的奇偶性分配系数。有时候要减去算重的。可保证一路递推来的全是合法的,而后减去。

生成函数:考虑待解决的问题本身跟本身的关系。连通->不连通是EGF exp。

组合数学:组合数,卡特兰数,斯特林数等。

Min-Max容斥:求最值就是求全部子集的另外一个最值的和,配上正负1系数。集合大小为1时系数为1。对指望几率一样有效。

二项式反演:若F(x) = ∑f(i),那么f(x) = ∑C(x, i)F(i)。

数学:线性筛,杜教筛,BSGS,lucas,(ex)CRT,莫比乌斯反演,二次剩余,矩阵乘法,高斯消元。

可O(logV)质因数分解(预处理)。

线性筛:O(n)筛积性函数。记录每一个数的最小质因子和个数。

杜教筛:找个好求和的g跟f卷出来h,也好求和。通常是为了把f的奇怪的项消掉来配g。

BSGS:预处理√phi(p)之内的放入hash表,而后每次跳√phi(p)步。

lucas:lucas(n, m) = lucas(n / p, m / p) * C(n % p, m % p)

CRT:考虑对其余的模数无影响,每一个a乘上逆元便可。ex就是用扩欧解方程而后合并方程。三模数NTT的时候先对第三个模数取模而后对最终模数取模。

莫比乌斯反演:若F(x) = ∑f(d),则f(x) = ∑miu(d / x)F(d),常把gcd提早枚举。

二次剩余:w = a2 - n,sgn(x) = x(p - 1)/2。随机a使sgn(w) = p-1,自定义单位负根为√w,而后求解(a + w)(p + 1)/2

其余:CDQ分治,总体二分,分块,启发式合并/分治,线段树分治,(树上)(带修)(回滚)莫队,二(三)分,带权二分,扫描线,01分数规划,倍增,时光倒流,随机化,搜索,模拟,贪心,博弈论,模拟费用流。

CDQ分治:先DP完左边而后更新右边。可优化DP,树上与点分治结合。可嵌套。

总体二分:一般求解第k大,有个特殊的应用是求解一条边在scc中的时间。内部可嵌套各类东西,好比虚树,树套树。

分块:可维护序列,或者对出现次数,数值的大小,时间分块等。时间分块按期重建能够优化成二进制分组。

启发式合并:每次暴力遍历小的集合。

启发式分治:包括最值分治。每次花费的时间为小的集合那一部分的时间。能够巧妙的改变枚举顺序。

线段树分治:把加,删操做变成只有加的操做。内部仍是嵌套各类可撤销数据结构。

莫队:对询问分块。树上:括号序列。每一个点重复计算时减去贡献,分类讨论。带修:第三个指针在时间上跳动。回滚:使用可撤销数据结构作到只有删除/插入。

二分:直接暴力二分答案,而后check。很是经常使用!很是经常使用!

带权二分:要使D的变化和你的值的变化相同,而后尽可能取k小的那个。感性证实(打表)凸函数。

扫描线:把二维限制转换为二维平面上的信息,而后扫描线。

01分数规划:二分答案而后check。

倍增:常在树上使用。应用普遍。

时光倒流:倒着处理会好受一些。

随机化:随机化check是否合法/随机化排列以达到指望复杂度/随机化贪心。

搜索:优先搜分支少的/最优的。

模拟:注意各类细节。

贪心:可经过微调来证实。

博弈论:sg函数。多找规律。

模拟费用流:先贪心,用堆来模拟反悔操做。

相关文章
相关标签/搜索