当前位置: 首页 > news >正文

做食品团购去那家网站好/广告网络

做食品团购去那家网站好,广告网络,低价货源网站,怎么做网站需要多少钱题目链接:http://poj.org/problem?id3041 在一个n*n的地图中,有m和障碍物,你每一次可以消除一行或者一列的障碍物,问你最少消除几次可以将障碍物全部清除。 用二分图将行(左边)和列(右边)用障碍物联系起来,比如(2,3)有…

题目链接:http://poj.org/problem?id=3041

在一个n*n的地图中,有m和障碍物,你每一次可以消除一行或者一列的障碍物,问你最少消除几次可以将障碍物全部清除。

用二分图将行(左边)和列(右边)用障碍物联系起来,比如(2,3)有个障碍物,那么左边的2和右边的3连边。边的个数就是障碍物的个数,点的个数就是次数,所以问题就变成了用少的点覆盖全部的边,也就是最小点覆盖问题。二分图中,最小点覆盖=最大匹配数。

 1 //最小点覆盖 = 最大匹配
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <vector>
 6 using namespace std;
 7 const int N = 505;
 8 struct Edge {
 9     int next , to;
10 }edge[N*N];
11 int head[N] , cnt , match[N];
12 bool vis[N];
13 
14 void init() {
15     memset(match , -1 , sizeof(match));
16     memset(head , -1 , sizeof(head));
17     memset(vis , false , sizeof(vis));
18     cnt = 0;
19 }
20 
21 inline void add(int u , int v) {
22     edge[cnt].next = head[u];
23     edge[cnt].to = v;
24     head[u] = cnt++;
25 }
26 
27 bool dfs(int u) {
28     for(int i = head[u] ; ~i ; i = edge[i].next) {
29         int v = edge[i].to;
30         if(!vis[v]) {
31             vis[v] = true;
32             if(match[v] == -1 || dfs(match[v])) {
33                 match[v] = u;
34                 return true;
35             }
36         }
37     }
38     return false;
39 }
40 
41 int hungry(int n) {
42     int res = 0;
43     for(int i = 1 ; i <= n ; ++i) {
44         memset(vis , false , sizeof(vis));
45         if(dfs(i))
46             res++;
47     }
48     return res;
49 }
50 
51 int main()
52 {
53     int n , m , u , v;
54     while(~scanf("%d %d" , &n , &m)) {
55         init();
56         for(int i = 0 ; i < m ; ++i) {
57             scanf("%d %d" , &u , &v);
58             add(u , v);
59         }
60         printf("%d\n" , hungry(n));
61     }
62     return 0;
63 }

 

转载于:https://www.cnblogs.com/Recoder/p/5671524.html

http://www.lbrq.cn/news/1435843.html

相关文章:

  • 如何做网站关键词收录/东莞做网站公司
  • 回老家做PHP网站/网络营销主要是学什么的
  • 西安 网站 公司/西安关键词排名首页
  • 如和做视频解析网站/智慧软文发稿平台
  • 手机网站建设报价多少/公司推广方案
  • 微信h5页面制作免费/西安抖音seo
  • 互联网是什么/重庆网站搜索引擎seo
  • 牡丹江制作网站/搜索营销
  • web前端网站开发实例/郑州网络营销策划
  • 南宁网站建设_seo优化服务公司/美国seo薪酬
  • 最简单的网站怎么做/百度关键词怎么设置
  • 小米盒子做网站/新站如何快速收录
  • 永嘉高端网站建设效果/近期新闻大事
  • 网站建设费财务列账/下载百度2023最新版安装
  • 番禺网站建设策划/百度推广的步骤
  • 滤芯网站怎么做/seo优化工作内容做什么
  • java手机网站怎么做的/今日军事新闻头条打仗
  • 做婚庆网站的想法/建一个外贸独立站大约多少钱
  • 网站建设和应用的情况/北京网站设计公司
  • seo 网站太小/网站流量统计分析的维度包括
  • 网站 301/辅导机构
  • 易语言 做的网站/今日新闻国家大事
  • 苏州注册公司代办费用/东莞seo网站管理
  • 科技副总/徐州seo
  • 深圳知名网站建设公司/免费网站seo诊断
  • 青海建设工程信息网站/百度推广管理系统
  • 公司做网站的费用怎么做账/域名查询ip爱站网
  • 网站备案域名更改公司/武汉网络推广广告公司
  • 个人网站建设/seo的培训班
  • 门头沟网站建设/百度一下百度知道
  • springboot博客实战笔记02
  • Vscode的wsl环境开发ESP32S3的一些问题总结
  • Hive 创建事务表的方法
  • Notepad++插件开发实战
  • 2025 开源语音合成模型全景解析:从工业级性能到创新架构的技术图谱
  • linux_网络层-ip协议