Gravatar
小金
积分:925
提交:188 / 371

Pro746  [网络流24题] 骑士共存

观察题图可知,一个骑士能攻击到的格子与自己所在的格子异色,所以有一种摆法是都摆在同一颜色的格子上,把一条相互攻击的关系变为网络流路径,这样就将扔掉骑士转化为了求最小割

因为一个骑士能与多个骑士互相攻击,所以可以共用路径

建图如下:

·源点向每个黄格子连边,流量为1

·每个黄格子向能攻击到的红格子连边,流量为∞

·每个红格子向汇点连边,流量为1

跑最大流求出最少扔掉几个骑士,答案为n^2−m−maxflow



2024-03-29 21:56:51    
我有话要说
暂无人分享评论!