题目链接
方法:二分图找最小路径覆盖
题目分析
题目大意
一个镇里所有的路都是单向路且不会组成回路。派一些伞兵去那个镇里,要到达所有的路口,有一些或者没有伞兵可以不去那些路口,只要其他人能完成这个任务。每个在一个路口着陆了的伞兵可以沿着街去到其他路口。我们的任务是求出去执行任务的伞兵最少可以是多少个。
解析
二分图的题目。
由输入可以知道该城市中的通路数量,那么如果派出最少的伞兵,必然是从每条路可以到达的最起始位置(这词说的好奇怪。。。但是就是这个意思)到最末尾位置,这样才能走最少的路径,然后题目就转化为了找最小路径覆盖。
根据公式,我们知道这样一个结论:
最小路径覆盖 = 顶点数 - 最大匹配数
所以这道题就转化为了找最大匹配数的问题。
代码
1 |
|