图------二分图匹配
h
蒋卫升
这个作者很懒,什么都没留下…
展开
-
UVA 1411 Ants (KM算法)
题意:给出n个白蚂蚁,n个黑蚂蚁,用n条线把白黑蚂蚁连接起来,要求连出来的线段互不相交,输出任意方案。思路:要满足互不相交,两条相交线段构成了几个三角形,三角形性质有两边之和必大于第三边,所以,如果每条线段都没有与之相交的线段,除非所有的线段都是最短的线段,即求二分图的最佳匹配。#include <bits/stdc++.h> using namespace std;...原创 2020-02-24 17:01:10 · 314 阅读 · 0 评论 -
HDU 2255 奔小康赚大钱 (km算法)
KM算法是解决二分图最优匹配,相对于最大匹配,最优匹配是在最大匹配上加上边权值。KM算法博客:https://blog.csdn.net/chenshibo17/article/details/79933191贴上我的代码:#include <bits/stdc++.h>using namespace std;const int maxn = 305,inf ...原创 2020-02-24 15:00:21 · 196 阅读 · 0 评论 -
Hdu 1350 Taxi Cab Scheme (匈牙利 + 最小路径覆盖)
题意:明天有m名客人从城市不同位置出发,达到目的地,已知每个人的出发时间,出发地点和目的地,你的任务是用最少的出租车送他们。从一个点到令一个点的所用时间是他们的曼哈顿距离。接送某乘客要提前到一分钟。思路:这个DAG最小路径覆盖经典问题,可以把这n个乘客构造成一张二分图,如果在接送完A乘客还有时间接送B乘客,就在二分图中连接一条从A到B的边。然后最小路径覆盖的答案就是n(乘客总数)-最大匹配。...原创 2020-02-23 16:22:45 · 180 阅读 · 0 评论 -
hdu 2063 过山车 (匈牙利算法入门)
题目链接感觉我写了很多算法入门题,但写起题目来就像没入门一样。这是一个非常神奇的体验。题意:给你两个集合,求最大的匹配数。思路:枚举男生,used代表这一轮匹配中女生是否访问,nxt【i】代表跟第i位女生匹配的男生,line保存的是两个集合中元素的联系。#include<bits/stdc++.h>using namespace std;const int...原创 2020-02-20 20:03:34 · 302 阅读 · 0 评论