摘要:
2-SAT 学习笔记 本文同载于本人的洛谷文章。 参考资料 算法 2-SAT 用于解决什么样的问题? 问题 给定 \(n\) 个大小为 2 的集合,每个集合要选其中一个元素,不能同时选,有 \(m\) 个条件 \((a,b)\) 代表元素 \(a,b\) 不能同时选,构造方案或判定无解。 例子 有 阅读全文
摘要:
子集反演 & 高维前缀和 & sos dp 学习笔记 子集反演 设 \(g(S)\) 表示集合 \(S\) 的答案,\(f(S)\) 为 \(S\) 的子集的答案和。 根据定义: \[f(S)=\sum_{T\in S} g(T) \]子集反演就是: \[g(S)=\sum _{T\in S}(-1 阅读全文
摘要:
四边形不等式优化 四边形不等式 对于定义域为整数的二元函数 \(w(i,j)\),如果对于 \(a\le b\le c\le d\),满足 \(w(a,c)+w(b,d)\le w(a,d)+w(b,c)\)(即交叉小于等于包含),则称 \(w(i,j)\) 满足四边形不等式。 还是上面的函数,如果 阅读全文
摘要:
最小斯坦纳树 给定一张无相连通图,每条边有权值,有 \(k\) 个关键点,要求选择权值和最小的边使得关键点连通,求权值和。 类似最小生成树,但是限定了关键点就只能用指数级的复杂度解决,这里考虑类似状压 DP 的方法。 例题:P6192 【模板】最小斯坦纳树 首先最终答案显然是一个树。 所以我们设 \ 阅读全文
摘要:
关于树上背包及其正确性证明 前言 2024.08.20:由于今天模拟赛 T1 想到了正解,然而我以为树上背包的复杂度是 \(O(n^3)\),然后没有继续调试我的代码,然后也没有提交,后来发现树上背包的复杂度是 \(O(n^2)\) 的,痛失 100 pts。发现我从来都没有写过树上背包,于是写下此 阅读全文
摘要:
__gnu_pbds::tree 用法简介 概述 pbds即平板电视,里面实现了很多数据结构,NOI系列赛事可以使用,但很多 OJ 和网站无法使用。 其中有 __gnu_pbds::tree,是平衡树,支持查找位置、查找第 \(k\) 大、分裂、合并。功能远强与 std::set。 性能 实现是红黑 阅读全文
摘要:
O(n)-O(1) 线性 RMQ 学习笔记 \(O(n)\) 预处理,\(O(1)\) 查询的 RMQ(区间最值)算法。 而我们正常 ST 表处理 RMQ 只能做到 \(O(n \log n)-O(1)\)。 用四毛子算法可以做到 \(O(n\log\log n)-O(1)\)。 四毛子算法:对原序 阅读全文
摘要:
反悔贪心 & 模拟费用流 参考资料来源 cyt 前言 很多找到一种可行的方案,匹配(选择)某些东西,使价值最优化的问题可以建出费用流模型。 但是直接跑费用流的复杂度是不对的。 我们又想到可以用简单的贪心思路解决这些问题,然而一般的贪心都假掉了。 于是我们考虑模拟费用流的退流操作来做贪心,这就是反悔贪 阅读全文
摘要:
wqs二分 参考资料 【学习笔记】WQS二分详解及常见理解误区解释 -ikrvxt -CSDN wqs二分 学习笔记 -Leap_Frog -Luogu wqs二分详解 -Hypoc_ -CSDN 前言 2024.08.13 模拟赛遇到恰好选 \(m\) 个的限制的反悔贪心做模拟费用流的题,然而不会 阅读全文