01 2022 档案
摘要:Fhq-Treap. // Fhq-Treap const int MAXN = 1e5 + 5; struct Fhq_Treap { #define Lson Tr[p].l #define Rson Tr[p].r struct Fhq_Node { int l, r, Val, Key, S
阅读全文
摘要:食用前请先了解 SPFA + Dinic/EK 求解 MCMF。 Sol. 总所周知,SPFA 牺牲了。于是我们寻求一些更稳定的算法求解 MCMF。 网络流算法的时间属于玄学,暂且判定为混乱中的稳定。那么我们就只能考虑在最短路算法上寻求优化。于是就想到了 Dijkstra。 但 Dijkstra 有
阅读全文
摘要:EK. 很少用到,知道思想即可。 ~~懒得写封装的屑。~~ queue<int> q; int Cap[MAXN][MAXN], Flow[MAXN][MAXN], Aug[MAXN], fa[MAXN], n; void Add_Cap(int u, int v, int C) { Cap[u][
阅读全文
摘要:弱化一下,先考虑在二维上解决问题。 题目就转化为:有 $n$ 个点 $(i, j)$ 需要被覆盖,而我们每次可以选一行或一列去覆盖,求覆盖所有点的最少选择次数。 如果我们对于每一个 $(i, j)$,我们把第 $i$ 行和第 $j$ 列连边,显然能构成一张二分图。 图中每一条边就是一个需求,而每选择
阅读全文