踢以

给出多个点的坐标 有一种攻击 可以把一次干掉同一列的 或者干掉同一行的 求最少的攻击次数

肥西

由于问题是问选取最少的行和列干掉所有的陨石 可以把输入的r和c看成r和c之间有一条连边因为要实现干就干掉一行的也就是说 在同一行的是连到一个点上的
比如1 3 ,1 2 那么1 就有两条边 分别连到2,3
比如再来看 2 2 ,3 2 同一列 那么在二分图最大匹配中 也就是只会选择一个 所以用二分图的最大匹配就可以表示出题目所要求的最小攻击次数
那么就相当于把所有的点都转化成了边 问题就变成了求最小覆盖集的个数
也就是最大匹配数
那么从第一个点开始不断的找增广路 不断更新匹配数就好了

CoDe


#include<cstdio>
#include<cstring>
using namespace std;
bool used[1010],link[1010][1010];
int mat[1010];
int n,k;
bool find(int x)
{for(int i=1;i<=n;i++){if(link[x][i]&&!used[i]){used[i]=1;if(mat[i]==-1||find(mat[i])){mat[i]=x;return 1;}}}return 0;
}
int main()
{scanf("%d%d",&n,&k); for(int i=1;i<=k;i++){int r,c;scanf("%d%d",&r,&c);link[r][c]=1;}int all=0;memset(mat,-1,sizeof(mat)); for(int i=1;i<=n;i++){memset(used,0,sizeof(used));if(find(i))all++;}printf("%d\n",all);return 0;
}

POJ-3041 匈牙利算法 二分图最大匹配相关推荐

  1. 【模板】匈牙利算法 二分图最大匹配题模板

    [任务] 给定一个二分图,用匈牙利算法求这个二分图的最大匹配数. [说明] 求最大匹配,那么我们希望每一个在左边的点都尽量找到右边的一个点和它匹配. 我们一次枚举左边的点x的所有出边指向的点y, 若y ...

  2. 浅谈匈牙利算法(二分图最大匹配)

    前置知识 一张图是二分图,当且仅当它的点可以被分成两部分,而这张图上的所有边的两个端点,都分属不同的部分.我们称这两个点集,一个叫左部,一个叫右部.左部中的点叫左部点:右部中的点叫右部点. 一张图的一 ...

  3. Asteroids POJ - 3041 匈牙利算法+最小点覆盖König定理

    题意: 给出一个N*N的地图N   地图里面有K个障碍     你每次可以选择一条直线 消除这条直线上的所有障碍  (直线只能和列和行平行) 问最少要消除几次 题解: 如果(x,y)上有一个障碍 则把 ...

  4. hdu 4160 Dolls 匈牙利算法求最大匹配

    Dolls                                                                               Time Limit: 2000 ...

  5. nyoj239 月老的难题 (匈牙利算法,最大匹配,邻接表)

    题目239 题目信息 运行结果 本题排行 讨论区 月老的难题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘. ...

  6. POJ - 3614 Sunscreen(贪心/二分图最大匹配-多重匹配/网络流-最大流)

    题目链接:点击查看 题目大意:给出n头奶牛,奶牛们现在要晒太阳,每头奶牛需要[l,r]区间内的光照强度,现在有m种防晒霜,每种防晒霜可以让奶牛接受到val数值的光照强度,然后每种防晒霜只有num个,现 ...

  7. POJ - 1358 Housing Complexes(二分图最大匹配)

    题目链接:点击查看 题目大意:给出k块m*n大小的土地,每块土地由数字'0'或26个大写字母组成,大写字母代表住户,数字'0'代表空地,现在开发商想尽可能多的修建大楼,每个大楼需要占用h*w的面积,而 ...

  8. POJ 1469 匈牙利算法

    匈牙利算法. 在于不停的找增广路. #include<iostream> #include<cstdio> #include<iostream> #include& ...

  9. 【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)

    题干: There are a group of students. Some of them may know each other, while others don't. For example ...

最新文章

  1. 自制爬虫,爬取分类总阅读量,总评论量。全部文章阅读量和,以及评论量和。但是发现数据不对
  2. 我所经历的京东618
  3. 设计模式 — 行为型模式 — 访问者模式
  4. Android -- 逐帧动画
  5. python 测试multiprocessing多进程
  6. Java正則表達式詳解
  7. 程序员赚钱资源汇总,结合自己亲身经历
  8. JAVA基础知识|lambda与stream
  9. 半夜,滴滴司机问我会LRU吗?
  10. 【动态规划笔记】区间dp:括号匹配(删除字符和括号匹配)
  11. JSON应用场景与实战
  12. 【图解算法】最小生成树
  13. 全国办公软件高级操作员证书是计算机水平,《办公软件应用高级操作员级课程标准》.doc...
  14. 维修系统php源码,v3.4.0智睿报修管理系统
  15. P4556 雨天的尾巴 线段树合并
  16. 日常工作中,软件测试人员如何避免“背锅”
  17. char *a 与char a[]所占空间解析题
  18. 账号密码登录和注册业务逻辑
  19. cad图形不见了怎么办_CAD画图突然消失 怎么找回
  20. Symbol - 看似平凡的Symbol其实我们每天都在用 - 对象操作

热门文章

  1. linux下memcache安装
  2. jacob 实现Office Word文件格式转换
  3. 如何构建积木式Web应用
  4. Android PopupWindow使用,下拉式PopupWindow,底部式PopupWindow
  5. ssh报错解决 ECDSA host key for 123.56.11.181 has changed and you have requested strict checking.
  6. arm linux 开机电路_ARM Linux启动过程分析
  7. Java秒杀系统实战系列~基于Redis的原子操作优化秒杀逻辑
  8. 禁用应用中Android系统的导航栏(特别是平板)
  9. 使用php创建一个注册表单,如何实现一个简单的注册表单
  10. mysql 正无穷字符_mysql 字符串函数收集比较全