链接:
题意:
一个城镇有n个路口,由一些单向马路连接。现在要安排一些伞兵降落在某些路口上,清查所有的路口。一个伞兵可以沿着马路一路清查过去。清查过程中不能有两个伞兵同时清查一个路口(应该是为了防止暴露)。给定城镇的线路,求最少需要几个人伞兵就能清查所有的路口。
思路:
最小路径覆盖:
首先将每个节点分成两个 ,有一条有向边l-r,则在图上有l到r为1 。
同时对拆分成两个结点的图进行二分图匹配。
因为每匹配一条边,证明有一个点被加到了 一条路径上,则节点总数减去最大匹配数就是最小路径。
代码:
#include #include #include #include #include #include #include #include #include