其实就是 CF802O 。但是这里用模拟费用流理解这个过程。
第一步仍然是 wqs 二分。
在情况 II 中,即选择可用的最小的。
在情况 III 中,替换一个更大的。
在情况 IV 中,$T \to S$ 的权值小于 $0$ 才选择,因此将其退流并不优。
于是可以得到和反悔贪心一样的代码了。
查看代码
1 |
|
另有线段树模拟费用流(或者叫线段树加速贪心)的做法。
\begin {array}{c} \mathfrak {One Problem Is Difficult} \\\\ \mathfrak {Because You Don't Know} \\\\ \mathfrak {Why It Is Diffucult} \end {array}
其实就是 CF802O 。但是这里用模拟费用流理解这个过程。
第一步仍然是 wqs 二分。
在情况 II 中,即选择可用的最小的。
在情况 III 中,替换一个更大的。
在情况 IV 中,$T \to S$ 的权值小于 $0$ 才选择,因此将其退流并不优。
于是可以得到和反悔贪心一样的代码了。
1 | #include <cstdio> |
另有线段树模拟费用流(或者叫线段树加速贪心)的做法。