美文网首页GraphTheory
POJ-1422-Air Raid(二分图-最小不相交路径覆盖)

POJ-1422-Air Raid(二分图-最小不相交路径覆盖)

作者: 雨落八千里 | 来源:发表于2019-08-21 21:32 被阅读0次

Air Raid

题意:

  • 在有向无环图中,每个伞兵可以沿着街道参观其他十字路口,输出尽可能少的伞兵数量可以访问所有的十字路口(一个路口只能被一个士兵参观)

思路:

  • 最小不相交路径覆盖(就是以最少的路径覆盖所有的点),将士兵的路程看作一条路径

最小不相交路径覆盖==原图总点数-对应二分图的最大边匹配

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<int>vep[130];
int match[130];
int vis[130];
int Hungarian(int x)
{
    for(int i=0;i<vep[x].size( );i++)
    {
        int v=vep[x][i];
        if(!vis[v])
        {
            vis[v]=1;
            if(match[v]==-1||Hungarian(match[v]))
            {
                match[v]=x;
                return 1;
            }
        }
    }
    return 0;
}
int main( )
{
    int n,m,x,y;
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
        {
            vep[i].clear( );
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%d%d",&x,&y);
            vep[x].push_back(y);
        }
        memset(match,-1,sizeof(match));
        int ans=0;
        for(int i=1;i<=n;i++)
        {
            memset(vis,0,sizeof(vis));
            if(Hungarian(i))
            {
                ans++;
            }
        }
        printf("%d\n",n-ans);
    }
    return 0;
}

相关文章

  • POJ-1422-Air Raid(二分图-最小不相交路径覆盖)

    Air Raid题意:在有向无环图中,每个伞兵可以沿着街道参观其他十字路口,输出尽可能少的伞兵数量可以访问所有的十...

  • POJ-1548-Robots(二分图-最小路径覆盖)

    Robots题意:有一些机器人可以向右走或向下走,在沿途捡取垃圾,输出尽可能少的机器人数量捡完所有垃圾思路:每一个...

  • 数据结构与算法--图

    涉及图的算法有很多,也非常复杂,比如图的搜索、最短路径、最小生成树、二分图等等。 如何理解“图”(Graph)? ...

  • 算法问题讲解

    最小路径覆盖[https://judge.fineres.com/problem/43] 路径数(点不重复)= 有...

  • 二分图

    二分图一些常用结论:最小支配集:V* 中最少的点,关联最多(V-V* )中的点;最小点覆盖:用最少的点去覆盖完所有...

  • 洛谷(最小路径覆盖问题)

    链接:https://www.luogu.org/problemnew/show/P2764思路:最小路径覆盖问题...

  • 图的最短路径算法(Dijkstra和Floyd)

    最短路径和最小生成树的区别:最短路径解决的是如何求解各顶点之间的路径权值和最小的问题。最小生成树是保证图的所有路径...

  • POJ-3041-Asteroids(二分图-最小点覆盖)

    Asteroids题意:一种武器可以击败一行或一列中的所有东西,输出竟可能少的使用这种武器消灭所有东西思路:对于一...

  • Graph-一般算法

    和图相关的算法有:最小生成子树,最短路径,拓扑排序。 这里仅介绍最小生成树和最短路径,拓扑排序暂时省略。 最小生成...

  • 数据结构_图(1_图的概述)

    主要知识点 图的概述 图的存储结构 图的遍历 最小生成树 最短路径 拓扑排序 关键路径 一、图的概述 1.1 图的...

网友评论

    本文标题:POJ-1422-Air Raid(二分图-最小不相交路径覆盖)

    本文链接:https://www.haomeiwen.com/subject/mphwsctx.html