复习

互质区间计数,这个题非常有意思,他首先是按套路拆成左端点,又是按套路把数暴力存在因子的平衡树上查前驱后继

修改的时候就和天才少年那个题一样把平衡树的修改,线段树插入撤销相当于+1-1,根据他不可能删掉没有的操作可以转化为求最小值个数

xor circle,特判比较多,但是跟我们的启示是如果出现相邻……异或……,一般就是有类似循环同构的东西

two trees,给我们启示是遇到一个题可以想想他跟奇偶性有什么关系,而奇偶性也许可以导出欧拉回路

疫情控制:一个很显然的贪心是先都移到根下面的那个位置,再类似基环树dp一样贪心调整

在树上某个节点把东西重排也是比较常见的一个套路

a or b 这个题要想到或的本质是相同的无用,然后贪心就好了

微信步数,本质是一个均摊,利用批量操作本质相同的性质,逐渐缩小区间

关于二分的题,卡你非常麻烦,实在不会可以试试乱搞冲过去,同时需要处理好细节

成绩单:区间dp两大套路,启发式分裂&端点&无判断分裂

预处理一个区间去掉一个点也是常用的套路

一个东西不能想复杂了,越简单越好

 关于洛谷的题:

碰到矩阵的题要想魔改悬线法或者bound住上下边界后跑双指针

树的形态不决用菊花图&链,注意一类……之后就没有贡献了的题

由于是noip,多想想二分,多想想前缀和&差分,是否有单调性,能不能决策优化

多想想拆点,把一个东西拆成单个对其的贡献

在维护相邻的问题时,链表是个好东西,但极其难调,慎用

对于问题多想想能不能拍到二维平面上,能不能跟几何意义扯上关系

分治同样是个重要的思想,在一类贪心题里可能会用到

倍增规约二分,排序规约二分

图论算法好久没考了

2 sat不建返图是错的

最小生成树跟二分紧密相连,本质上是对最短路的一种极限

如果一个东西你觉得很可以可持久化&线段树合并但是干不了不妨想想能不能动态维护 子树补&栈

树上还有一类是涉及siz的,多推推,退不出来也没就

整除分块

多容斥,多打表找规律

去年考了hash了,多想想是不是可能是trie

const可以优化常数

遇到min max这种的,可以试着二分之后转成01问题

式子要推准,推慢总比找错花的时间短,人类三大错觉,我能反杀

并查集维护连通块也是一大利器

在树上遇到循环定义的式子多半你已经win了

单调栈遇见几乎没救,单调队列优化dp可能还可以抢救一下

dp在某些情况转化成图论可能会更显然?

允许离线的情况下可以预先把什么东西建出来再考虑问题

自己不会斜率优化,可以用前缀和+排序凑

一定不要想当然,能多就不少,防止溢出少算

排序+区间dp or 背包老套路了

遇事不决dp差分,或者说到……为止的什么什么

或者是枚举到1……i的排列,第j个……怎么怎么

还有一类是主对角线……副对角线……

感觉洛谷dp题单老多套路了,多抽象,多转化

 可以尝试归约到斯特林数,以防万一

不要忘了矩阵快速幂

遇事不决奇偶型构造,再不行拆开之后奇偶性构造

遇到区间拆点扫描线,不要怂

增量法

(k<<1)|(m>>(i-1)&1) 泛化物品公式,背过得了
拆位拆位都可拆
均摊也是个重要的考点
等价假装转换不是很显然,多思考
永远不要信任自己的代码能力
注意复杂度平衡

posted @ 2021-10-21 08:28  maruize  阅读(82)  评论(0)    收藏  举报