摘要:
复杂DP 写在最前面的一些话。 DP 算是最常见的一种题目了,类型多样,很值得研究。 究其本质,DP 可以看做是在 DFA(有限状态自动机)上沿着转移边进行转移。考虑某种组合结构,所有满足某一条件的该结构作为元素组成一个解集,题意要求求出这些解的某种权值经过某种运算后的结果,DP 就是使得自动机在这 阅读全文
摘要:
DP优化 一些典型或者不典型的 DP 优化实例。 CF354D Transferring Pyramid 题意:有一个 \(n\) 层的金字塔,现在能进行两种操作,一是给某个点染色,代价是 3,或者画一个底边是金字塔底边的子三角形,给每个点,代价是点数 +2,要求用最小代价覆盖所有要染色的 \(m\ 阅读全文
摘要:
状压 DP 状压是一种把集合映射到数字的方法,通常是二进制状压,每一位的 01 表示集合是否含有这一项。状压可以大幅度减少与集合有关的 DP 写法上的复杂性,而且用上位运算相关的技巧还可以优化复杂度,是一种常见的方法。 一般的状压是往一个集合中加入或删除一个元素进行转移,也有枚举子集、超集进行转移, 阅读全文
摘要:
容斥 基本公式 \(|\bigcup\limits_{i=1}^na_i|=\sum\limits_{T\subseteq[1,n]}-1^{|T|+1}|\bigcap\limits_{i\in T}a_i|\) min-max容斥 \(\max_{i\in S}a_i=\sum\limits_{ 阅读全文
摘要:
贪心 贪心题合集,感觉不少都是结论题。 好吧其实不多 CF725F Family Photos 题意:有 \(n\) 对照片,Alice 和 Bob 轮流取,每一对照片只有取了第一张才能取第二张,如果连续两轮都不取就结束,每对照片对 Alice 和 Bod 的贡献分别是$ a_1,a_2,b_1,b 阅读全文
摘要:
反悔贪心(模拟费用流) 贪心本身是不能反悔的,但如果当前最优解不是全局最优解,我们就需要通过反悔来贴近全局最优解。一般用堆来实现,即堆中维护当前可以用来反悔的决策,然后每次取最优的决策。 其实从更一般的角度,反悔贪心就是建出费用流模型,然后用数据结构来模拟增广的操作。 一些例题: CF280D k- 阅读全文
摘要:
构造 感觉上很大一部分的构造题的构造过程可以画图,应该是一个不错的思考方向。 P8098 [USACO22JAN] Tests for Haybales G 题意:有一个长为 \(n\) 的不降的整数数组和一个整数 \(k\),你不知道这个数组和这个整数,但你知道对于每个下标 \(i\) 满足 \( 阅读全文