[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=1741

[算法]

将每颗小行星的行,列相连,问题就转化为了求这张图的最小覆盖

由konig定理可知,最小覆盖  = 最大匹配,因此,用匈牙利算法求二分图最大匹配即可

[代码]

#include<bits/stdc++.h>
using namespace std;
#define MAXN 510
#define MAXK 10010 struct edge
{
int to,nxt;
} e[MAXK]; int n,k,i,r,c,ans,tot;
int head[MAXN],match[MAXN << ];
bool visited[MAXN << ]; inline void addedge(int u,int v)
{
tot++;
e[tot] = (edge){v,head[u]};
head[u] = tot;
}
inline bool hungary(int u)
{
int i,v;
visited[u] = true;
for (i = head[u]; i; i = e[i].nxt)
{
v = e[i].to;
if (!visited[v])
{
visited[v] = true;
if (!match[v] || hungary(match[v]))
{
match[v] = u;
return true;
}
}
}
return false;
} int main()
{ scanf("%d%d",&n,&k);
for (i = ; i <= k; i++)
{
scanf("%d%d",&r,&c);
addedge(r,c + n);
}
for (i = ; i <= n; i++)
{
memset(visited,false,sizeof(visited));
if (hungary(i)) ans++;
}
printf("%d\n",ans); return ; }

最新文章

  1. qt 设置
  2. BZOJ3073 : [Pa2011]Journeys
  3. ggplot2 legend图例的修改
  4. 弹性ScrollView,和下啦刷新的效果类似 实现下拉弹回和上拉弹回
  5. 项目 erlang启动时死循环
  6. oracle3
  7. 手写JS无缝滚动插件
  8. python使用环境的设置
  9. Ubuntu16.04 install mysql5.X
  10. JBoss启动项目报错
  11. Dynamics CRM2016 新功能之从CRM APP中导出数据至EXCEL
  12. Swift变量名的一种玩法
  13. 【Unity Shaders】Unity里的雾效模拟
  14. VS2017中用C#调试DLL
  15. 如何在java List中进行模糊查询
  16. 数据库无法打开到SQL Server连接
  17. js--阻止冒泡,捕获,默认行为
  18. CentOS 7 安装并配置 MySQL 5.6
  19. Java流(Stream)、Scanner类
  20. qt下的跨目录多工程编译(转)

热门文章

  1. Ajax——异步基础知识(三)
  2. js分页插件
  3. Python标准库os
  4. iOS crash log 解析 symbol address = stack address - slide 运行时获取slide的api 利用dwarfdump从dsym文件中得到symbol
  5. 学习csv
  6. HTML 符号实体
  7. Beauty of Array ZOJ - 3872(思维题)
  8. Cashier (codeforces 1059A)
  9. 解决高分屏/高DPI下GNOME3/Linux字体和按钮太小的问题
  10. Linux:安装CentOS 6.x和CentOS 7.x