UVALive 3972 March of the Penguins (最大流+拆点)

题意:有一群企鹅,n块冰,给出每个企鹅的最大跳跃距离,再给出冰的坐标和上面存在的企鹅个数和允许跳跃的次数,问有哪些冰是可以将所有的企鹅汇聚起来的

分析:对于每一块冰进行拆点,容量为允许跳跃次数,源点向这块冰连一条边,容量为这个冰的企鹅个数。然后n^2枚举冰与冰,如果它们之间的距离小于最大跳跃距离,就连一条边,容量为无穷,因为冰与冰之间不限制跳跃次数,单块冰才限制跳跃次数。最后跑最大流即可,跑完最大流,枚举每一个点,因为每一个点都可以是汇点,只要这一个点满流了,就说明企鹅可以在这块冰聚集。建图如下。

总结:
代码:待补。参考https://blog.csdn.net/qq_37943488/article/details/83503814

猜你喜欢

转载自blog.csdn.net/tianwei0822/article/details/92795621