zoukankan      html  css  js  c++  java
  • hdu 1068 Girls and Boys

    英语不太好,但是题意大概是给定一个序列,每个序列给出有可能成为情侣的人,现在要你求出一个所有人都不可能成为情侣的最大集合.

    解题思路就是最大独立集 , 最大独立集 = 顶点数 - 最大匹配数 ;

    由于这题是拆分自己,或者说把一个点分成2个部分,所以最后的最大匹配数要除以2;

    一定要记得初始化,忘了Map数组的初始化= =,超时好多次;

    给出一个讲解的网址 : http://dsqiu.iteye.com/blog/1689505

     1 #include <iostream>
     2 #include <string.h>
     3 using namespace std;
     4 #define maxn 2005
     5 int linker[maxn];
     6 bool map[maxn][maxn];
     7 int uN,vN;
     8 bool visit[maxn];
     9 bool dfs(int u)//从左边开始找增广路径
    10 {
    11     int v;
    12     for(v=0;v<vN;v++)//这个顶点编号从0开始,若要从1开始需要修改
    13         if(map[u][v]&&!visit[v])
    14         {
    15             visit[v]=true;
    16             if(linker[v]==-1||dfs(linker[v]))
    17             {//找增广路,反向
    18                 linker[v]=u;
    19                 return true;
    20             }
    21         }
    22         return false;//这个不要忘了,经常忘记这句
    23 }
    24 int hungary()
    25 {
    26     int res=0;
    27     int u;
    28     memset(linker,-1,sizeof(linker));
    29     for(u=0;u<uN;u++)
    30     {
    31         memset(visit,false,sizeof(visit));
    32         if(dfs(u)) res++;
    33     }
    34     return res;
    35 }
    36 int main()
    37 {
    38     //freopen("1068.txt","r",stdin);
    39     int n,u,v,t;
    40     while(~scanf("%d",&n))
    41     {
    42       uN = vN = n;
    43       memset(map,false,sizeof(map));
    44     for(int i = 0 ;i < n ;i++)
    45     {
    46          scanf("%d: (%d)",&u,&t);
    47          while(t--)
    48         {
    49             scanf("%d",&v);
    50             map[u][v] = true;
    51         }
    52     }
    53     printf("%d
    ",n-hungary()/2);
    54     }
    55     
    56     return 0;
    57 }
    View Code
  • 相关阅读:
    使用QT在子线程中访问串口
    小程序批量上传图片方案
    Jenkins自动化远程部署(vue-github)
    nginx配置https证书
    Linux 安装php7
    Vue技术点整理-指令
    如何保证接口的幂等性?
    mybatis 一对多分页查询数据条数不匹配解决
    源码系列-JDK-String
    kafka window 操作
  • 原文地址:https://www.cnblogs.com/xiaoniuniu/p/4395548.html
Copyright © 2011-2022 走看看