设为首页 加入收藏

TOP

poj3041-Asteroids , 二分图的最小顶点覆盖数 = 最大匹配数
2015-07-24 05:33:38 来源: 作者: 【 】 浏览:6
Tags:poj3041-Asteroids 二分 最小 顶点 覆盖 最大 匹配

点击打开链接

二分图的最小顶点覆盖数 = 二分图的最大匹配数


题意: 在N*N的网络中有K颗小行星。小行星i的位置是(Ri, Ci)。现在有一个强力的武器能够用一发光束将一整行或一整列的小行星消灭。想要利用这个武器消灭所有的小行星最少需要几发光束?

分析: 以小行星的左右坐标建立二分图,就可以看出是求二分图的最小顶点覆盖数。


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; const int maxn = 500 + 5; //单侧顶点的最大数目 struct BPM{ int n, m; //左右顶点个数 vector
      
        G[maxn]; //邻接表 int left[maxn];//left[i]为右边第i个点的匹配点编号,-1表示不存在 bool T[maxn];//T[i]为右边第i个点是否已标记 int right[maxn]; //求最小覆盖用 bool S[maxn]; //求最小覆盖用 void init(int n, int m){ this->n = n; this->m = m; for(int i=0; i
       
        & X, vector
        
         & Y){ int ans = solve(); memset(S, 0, sizeof S ); for(int u =0; u
         
          

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇嵌入式专题: S5PV210 - MPEG4解.. 下一篇POJ 2367 Genealogical tree 拓扑..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: