把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

【笔记迁移】基本思路小记

严格递增 \(\xrightarrow{将a_i减去i}\) 非严格递增

有一些看似复杂的序列修改,考虑一个数的变动对答案的影响。有时候会化成区间覆盖,区间加这类的(例如求 \(mex\),Yazid 的新生舞会)

说到 Yazid 的新生舞会 就想到把值分成01的做法。这题是 \(b_i=[a_i=x]\),之前还遇到过 \(b_i=[a_i\geq x]\)。区间排序喵喵题(TJOI 排序),通过二分答案把序列转成 01,然后就能线段树做区间排序了。

求恰好等于某个值的xx计数:可以考虑多步容斥,或者二分答案。

求中位数:二分答案。\(<x\) 设为 -1, \(>=x\) 设为1,和为非负则true。
原理类似的还有求第 \(k\) 小/大。问题转化为二分数值 \(x\),求 \(\leq x\) 的数的个数,当个数 \(\geq k\) 即为 true。

难以求方案之类的时候,考虑单步容斥,多步容斥,增加状态维度,增加正反状态。(地震后的幻想乡)

关于多步容斥,可以求并集。求交集可以转化为补集的并集的补集,有可能会变得好写。

不好找答案的时候可以考虑枚举答案,从check下手。当然,可能可以二分答案(?)

HH的项链,没想到的树状数组做法。区间查询不同元素个数,可以离线询问。把原本不可前缀和相减变成可减的方法是:只考虑某个值最后出现的位置。

试试交换操作顺序是否会影响结果?

优化dp的时候,可以考虑在转移上节省,在状态上节省,在枚举顺序上节省

括号序列可以当成 1 -1 序列来处理啦...其实也属于一种所有前缀和要求为非负数。(Raney 引理)

求一个序列满足 \(0\leq a_1\leq a_2 \leq \cdots \leq a_n\leq m\) 可以转化成其差分数组 \(b\) 满足 \(\sum b_i \leq m\)

最小划分下降子序列数=最长上升子序列长度。dilworth 定理,好像可以一般化为DAG,但是我不会。

建图的优化:如果是区间到区间的点相连可以线段树优化建图。如果是某个集合的点两两相连可以建虚点。

多点 LCA,为 dfs 序最大和最小的两个点的 LCA 。深度最大的一对 LCA 在 最相邻 dfs 序节点对的 LCA 中。

\((x,y)\) 之间的切比雪夫距离等价点 \(((x+y)/2,(x−y)/2)\) 之间的曼哈顿距离;
\((x,y)\) 之间的曼哈顿距离距离等价点 \((x+y,x−y)\) 之间的曼哈顿距离。

偏序关系(可传递的某种关系)可以映射到 \(\text{DAG}\) 上。

查询区间xx问题,尝试做出前缀和,尝试化出对称不等式(二维偏序)解决(

有结合律考虑倍增/线段树/矩阵加速,有交换律(或者某关键字不同时的交换律)考虑排序操作后再看结合律之类的性质。

位运算,可以利用其不进位性质拆位。异或与不等式相关套在 01trie 上可以看看之前写的那道cf

加法运算对 max 运算有分配率,我超

某种排列问题()我莫名执念于对每个元素选定位置,其实也可以考虑如何插入这个元素。全排列问题也是一个道理。

posted @ 2024-07-08 00:05  Kan_kiz  阅读(4)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end