搭配飞行员
二分图匹配问题,可以网络流解决。
每个左侧点只能匹配一个右侧点,每个右侧点也只能匹配一个左侧点,所以图中所有边边权为一(其实中间的边边权可以更大,但连接源点和汇点的不行)。
提交记录
太空飞行计划
读入很烂,数据换行符也有问题。
如果我们划分成“要用”和“不用”两个集合——转化为割出的点集 \(S,T\),发现我们需要的答案就是最大化 \(S^+ - T^-\)。
割的容量为 \(S^-+T^-\),发现两者相加就是全部 \(S\) 集合内的点权。
然后跑最小割就好。
提交记录
最小路径覆盖
考虑分点,一条路径中,每个点入度与出度最多为 \(1\),所以可以给所有边两侧的出点和入点连边。
发现最大流就是最多能连上的边数。
然后发现每一条路径经过点数都是边数加一,可以用总点数减去连上的边数求出路径数。
答案输出很简单,深搜输出即可。
提交记录
士兵占领
首先判无解,如果某一行列放不下需要的数量必然无解,否则必然有解。
考虑最小化点数,就是最大化同时作用于行列的点数,于是最大流。
每行列若可以放在交点则连边。考虑到如果超出需要的个数,那么多出的点实际上没有作用,所以每行列都有流量上限,也就是需要的个数。
提交记录