可能有用的 trick

图论


树上连通块转化为点减边

或平面图上连通块可以用平面图欧拉公式 \(V-E+F=C+1\) 转化为点,边,面相关。

例题:

斑斓之地

公交线路


平面图最小割(最大流)转对偶图最短路

对偶图最短路其实可以简化为一棵树。

例题:

狼抓兔子

All Pair Maximum Flow


平面图一定存在度数不超过 \(5\) 的点。

给边定向,可以得到一个所有点出度不超过 \(5\) 的有向图。

每个点维护入边信息,枚举出边信息做到降低复杂度。

对于常规图可以类似于无向图三元环计数,度数小的点连向度数大的点,每个点出边最多为 \(O(\sqrt m)\) 级别。

例题:

【MX-X31-T5】「FAOI-R14」noiday2t3 数据

[AMPPZ 2019] The Great Drone Show


不删点点分治可以做到 \(O(n\log_{1.5}n)\),具体实现通过按子树大小从小到大选中子树直到大小超过 \(\frac{1}{3}\) 总大小,然后分成两部分继续分治。

例题:[JOIST 2025] 宇宙怪盗 / Space Thief


带限制选数问题:用割掉一条边表示选中这条边对应的数,转化为最小割求解。

例题:

[HNOI2013] 切糕

Max Vector


竞赛图三元环个数等于 \(\binom{n}{3}-\sum\limits_{i=1}^{n} \binom{d_i}{2}\),其中 \(d_i\) 表示点 \(i\) 的出度。

利用这个性质配合网络流可以求出定向为竞赛图的三元环个数最大值。

例题:

Beautiful League

[WC2007] 剪刀石头布


组合数学


\(i(i-j)=\binom{i}{2}-\binom{j}{2}-\binom{i-j}{2}\)

例题:有标号 DAG 计数


对于得到一种方案数的平方,可以理解为得到这种状态的二元组的数量。

例题:[NOI2009] 管道取珠


利用组合数压缩信息。

例题:[JOIST 2025] 占卜 3 / Fortune Telling 3


组合数求和转成格路计数同时计算方案数。

例题:BBQ Hard


数据结构


维护时间轴,升维维护平面扫描线。

例题: 【UR #19】前进四


分块预处理所有 \([l,r]\) 在块内从左到右的复合信息时,可以用分治做到 \(O(B^2)\)。

例题:

[Ynoi Easy Round 2026] 寒蝉鸣泣之时·业

[Ynoi2013] D2T2

序列相关


求中位数相关或维护区间排序,可以二分转化为 \(01\) 序列的维护。

例题:

Median Pyramid Hard

[NOI 2026] 中位数

[HEOI2016/TJOI2016] 排序


排列的逆序对数奇偶性等于排列长度与置换环数量之差的奇偶性。

利用该性质可以做到线性求逆序对数奇偶性。

例题:Rotate 3x3

upd:这个性质也可以用来解决一些置换群的可达性问题。

例题:[ICPC 2022 WF] 动物园管理


涉及两端的单点修改转差分。

对于 \(01\) 序列相邻同项取反可以对奇数位置异或 \(1\) 后变成交换相邻 \(01\)。

例题:Reversi 3


其他


求线段的最少点覆盖可以根据右端点 \(r\) 从小到大贪心,同理可以按 \(l\) 从大到小贪心,根据两次贪心的结果可以确定每个点放置范围,范围两两不交且可以证明这个点放到这个区间内任意一个位置都能调整成最优方案。

例题:

[APIO2012] 守卫

[JOIST 2025] 展览会 3 / Exhibition 3


倍增确定范围,二分找到精确边界,做到降低复杂度。

例题:[JOIST 2025] 展览会 3 / Exhibition 3


posted @ 2026-10-12 21:47  Ff472130  阅读(4)  评论(0)    收藏  举报