【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1281
【解题报告】
构思很巧妙的一道二分图匹配的题目。将x轴看作X集,y轴看做Y集,那么X-Y的一条边即可看做是一个(放车的)可行点,所以我们对于所有可以放车的点连一条边,然后求一个二分图最大匹配。
那么哪些点是重要点呢?如果我们去掉某个可以放车的点,然后再求一遍最大匹配,得到的匹配数小于最大匹配,那么这个点就是一个重要点。所以遍历所有可行点统计重要点即可。
关于二分图最大匹配的求法可以参考我这篇题解http://blog.csdn.net/gungnir0711/article/details/48878459
【参考代码】
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
struct point{