3

碎碎念 - CharlieVinnie

 4 months ago
source link: https://www.cnblogs.com/Charlie-Vinnie/p/18150913
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

碎碎念

平面图一定要想到“连续”的性质。不可能存在 4 个依序的点 a,b,c,d,满足 a,c 连通,b,d 连通,但 a,b,c,d 不全连通。qwq qaq

二进制具有独立性。如果不完全独立,就把不完全独立的部分塞到状态里,独立的部分记录在 dp 值中。\(\sum k_i2^i\) 只有在高 \(\max k\) 位是不独立的。qwq

\(\color{red}\dagger\) 树上点 \(u\) 的 \(d\)-邻域和 \(fa_u\) 的 \(d\)-邻域具有极强的相关性。\(\delta(u,d-1)\subseteq \delta(fa_u,d)\subseteq \delta(u,d+1)\),\(\left|\mathrm{dis}(u,x)-\mathrm{dis}(fa_u,x)\right|\le 1\)。这个技巧可以用来省去二分。qwq qaq

当题目中出现 \(\times k\) 或者 \(\lfloor {*\over k}\rfloor\) 这样的字眼的时候,且 \(k\) 是全局常数,可以考虑把问题缩小到 \([0,k)\) 的值域内进行考虑;此时 \(\lfloor {*\over k}\rfloor\) 至多改变一次,可以利用好这个性质。qwq

有时候我们会对 dp 出来的结果再进行一遍容斥处理,不要忘了可以改为在 dp 的过程中进行这个容斥。qnq

\(\color{red}\dagger\) 对于费用流的题目,要想办法找到“性质相同则产生额外代价(或收益减少,等价)”的关键部位进行处理,利用费用流的凸性。qwq

网格图上网络流的题目一般都是 \(S\) 连白点,黑点连 \(T\)。

对于建出图跑差分约束的题目,如果直接建图边数很多,不妨考虑一下是怎么连出这么多边的,可以改为跑 \(n\) 轮收缩,每轮内用数据结构维护这些边的贡献。每轮内以任意顺序跑每类边都是对的。qwq

\(\color{blue}\dagger\) 可以使用异或哈希的技巧方便地将点分成若干类,避免压栈弹栈的各种讨论。这里在求边三时用到。qwq

对于所有情况的最大值求和,要记得想办法转化成若干偏序关系,转为在所有偏序下求和。qwq

\(\color{blue}\dagger\) 可以用 bitset 支持 _Find_First 的性质找到满足条件的点中值最小的,用预处理时间前缀的 bitset 来截取一段合法区间。qwq

\(\color{red}\dagger\) 平面图还应该想到欧拉定理。我们都不喜欢算面,但是我们都喜欢算点和边。算是一种广义的点减边。qwq qnq

“跳一跳”类型的题目,除了要想到值域倍增,还要想到位置倍增,例如第一次跳出某个线段树节点,第一次跳过某个猫树中点。qnq


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK