摘要: 本题最主要的就是拆点G[maxn][maxn],前面的是原来的点u,后面的是相对的u',如果接完客人u可以再去接客人v,则连G[u][v] = true; 然后就KM下,用n-m(匹配数)就是答案;#include#include#include#includeusing namespace std;const int maxn = 505;int n,T,ans;struct guest{ int sx,sy; int tx,ty; int st; int time;}gu[maxn];bool G[maxn][maxn];int link[maxn];int vis[maxn];b 阅读全文
posted @ 2013-05-21 19:53 等待最好的两个人 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 本题本是模板题,但由于开始并查集写出,好不容易发现了,有没改彻底,导致狂WA,以后一定要注意,修改后要多检查,别急忙交;#include #include #include #include #define maxn 105using namespace std;const int INF = 0x3f3f3f;int G[maxn][maxn];struct Edge{ int from; int to; int len; bool operator >N){ memset(G,0,sizeof(G)); Slover.init(N); ... 阅读全文
posted @ 2013-05-21 18:39 等待最好的两个人 阅读(179) 评论(0) 推荐(0) 编辑