Examples

二分图网络流做题记录

01 P4589 [TJOI2018]智力竞赛

二分一手答案,我们发现就是要覆盖指定的链,跑一边传递闭包就是 DAG 点覆盖了。

AC 记录

02 P3973 [TJOI2015]线性代数

先转化一手式子:

\[D=\sum_{i=1}^n a_i\times(\sum_{j=1}^n a_j\times b_{j,i}-c_i)=\sum_{i=1}^n\sum_{j=1}^n a_ia_jb_{i,j}-\sum_{i=1}^n a_ic_i \]

考虑每个位置选 \(0\) 还是选 \(1\) 明示最大闭合子图,于是我们可以考虑这样的模型:

image
(洛谷题解的图)

考虑每一种割的形态,解方程可得:

\[ax=b_{x,x}+\frac{1}{2}(b_{x,y}+b_{y,x}),ay=b_{y,y}+\frac{1}{2}(b_{x,y}+b_{y,x})\\bx=c_x,by=c_y\\v=\frac{1}{2}(b_x+b_y) \]

我们发现扩展到多个点的情况只需要把 \(ax,ay\) 后面的东西变成对于所有 \(y\) 的和就好了。

AC 记录

03 CF863F Almost Permutation

简单题,每个位置对应的所有值都建一个点,限制就给位置以及对应的值连个边,让流量做到最大流即可,而费用采用经典方法,连 \(n\) 条边,第 \(i\) 条费用为 \(2i-1\) 即可。

AC 记录

04 P4249 [WC2007]剪刀石头布/CF1264E Beautiful League

考虑简单容斥一手,我们要算不是三元环的数量最小值。

观察可得不是三元环等价于一个点出度为二,一个点入度为二,一个点出度为一入度为一,那么实际上这等价于存在一个点入度为二,也就是说答案是 \(\sum_{i=1}^n {indeg_i\choose 2}\)

这个东西是单增的,于是直接套路建图一波带走。

AC 记录

AC 记录

05 CF802C Heidi and Library (hard)/CF132E Bits of merry old England

考虑保持一个书不好表示,可以看作卖掉这个书再买进来。

可以考虑每个点拆成两个点 \(v,v'\),然后这样建图:(设 \(pre_i\)\(i\) 这个颜色上一次出现的位置)

\[S\rightarrow v(1,c_{a_i})\\v\rightarrow v'(1,0)\\v'\rightarrow T(1,0)\\i\rightarrow i+1(k-1,0)\\i-1\rightarrow pre_i'(1,-c_{a_i}) \]

AC 记录

AC 记录

AC 记录(这个输出方案太恶心了/ll)

06 AT4505 [AGC029F] Construction of a tree

07 P6967 [NEERC2016]Delight for a Cat

08 CF1288F Red-Blue Graph

09 P4617 [COCI2017-2018#5] Planinarenje

10 P1971 [NOI2011] 兔兔与蛋蛋游戏

posted @ 2021-11-12 08:49  xiaoziyao  阅读(60)  评论(0)    收藏  举报