UOJ#77 A+Bproblem
纪念一下自己在UOJ上通过的第一道除了 A+B problem 和 Quine 之外的题。
不对啊,这道也是 A+B problem
正文
看到什么黑白染色,分别得到代价,容易想到最小割。
建图是长这样的: 对于每一个点 $i$ 我们连边 $(s,i,b_i), (i,t,w_i)$.考虑那个什么奇怪的点的限制,对于每一个点建一个虚点 $i$ 然后对于所有满足条件的 $j$ 连边 $(i',j,inf)$.这样连边正确性显然。
BTW,如果限制是方格 $j$ 是白色怎么做啊?/yun 求教。
优化
这道题图比较复杂,貌似不能模拟网络流?(谁会能不能教教我啊qwq)
由于上面的边数是 $n^2$ 的,完全跑不了,所以考虑优化建图,减少边数。考虑一个点是向一个区间进行连边,那么显然直接线段树优化建图即可。这里可能需要用到主席树,原因是需要 $n$ 个版本的树的节点。边数降到了 $n \log n$