poj2060Taxi Cab Scheme(二分图匹配)
/*
题意: 出租车 有一个出发的时间,从点(a, b)到点(c, d),时间为
abs(a-c)+abs(b-d)! 一辆车可以在运完一个乘客后运另一个乘客,
条件是此车要在预约开始前一分钟之前到达出发地, 问最少需要几辆车
搞定所有预约。 思路:有向边进行建图,因为出发时间是升序的!
t0: (a0, b0) ->(c0, d0)表示预约在t0时间出发从(a,b)到(c,d);//节点x
t1: (a1, b1) ->(c1, d1)表示预约在t1时间出发从(a1,b1)到(c1,d1);//节点y 如果可能的话从t0时间出发的车到达目的地后,如果满足从(c,d)到(a1,b1)
也就是从第一个目的地到达下一个出发地的时间t2 + 1<=t1, 那么完全就不用
其他的车再来了!两次的预约都搞定了!
如果满足的话,节点x 和 节点y建立一条有向边!
最后通过匈牙利算法搞定.....
*/
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#define M 505
using namespace std; struct point{
int x, y;
point(){}
point(int x, int y){
this->x=x;
this->y=y;
}
int operator -(point a) {
return abs(x-a.x) + abs(y-a.y);
}
}; struct node{ int begin, end;
point s, d;
}; node nd[M];
vector<int>v[M];
int vis[M];
int link[M]; int n; bool dfs(int cur){
int len=v[cur].size();
for(int i=; i<len; ++i){
int u=v[cur][i];
if(vis[u]) continue;
vis[u]=;
if(!link[u] || dfs(link[u])){
link[u]=cur;
return true;
}
}
return false;
} int main(){
int t;
scanf("%d", &t);
while(t--){ scanf("%d", &n);
for(int i=; i<=n; ++i){
int b, e, x1, y1, x2, y2;
scanf("%d:%d %d %d %d %d", &b, &e, &x1, &y1, &x2, &y2);
nd[i].begin=b*+e;
nd[i].s=point(x1, y1);
nd[i].d=point(x2, y2);
nd[i].end=nd[i].begin+(nd[i].s-nd[i].d);
}
for(int i=; i<n; ++i)
for(int j=i+; j<=n; ++j){
if(nd[j].begin>=nd[i].end+(nd[i].d-nd[j].s)+)//如果能够满足条件爱你到达另一个出发地点,两个节点之间建立一条有向边
v[i].push_back(j);
}
int ans=;
memset(link, , sizeof(link));
for(int i=; i<=n; ++i){
memset(vis, , sizeof(vis));
if(dfs(i)) ++ans;
}
cout<<n-ans<<endl;
for(int i=; i<=n; ++i)
v[i].clear();
}
return ;
}
poj2060Taxi Cab Scheme(二分图匹配)的更多相关文章
- poj 2060 Taxi Cab Scheme (二分匹配)
Taxi Cab Scheme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5710 Accepted: 2393 D ...
- UVA 1201 - Taxi Cab Scheme(二分图匹配+最小路径覆盖)
UVA 1201 - Taxi Cab Scheme 题目链接 题意:给定一些乘客.每一个乘客须要一个出租车,有一个起始时刻,起点,终点,行走路程为曼哈顿距离,每辆出租车必须在乘客一分钟之前到达.问最 ...
- 二分图最小路径覆盖--poj2060 Taxi Cab Scheme
Taxi Cab Scheme 时间限制: 1 Sec 内存限制: 64 MB 题目描述 Running a taxi station is not all that simple. Apart f ...
- UVa 二分图匹配 Examples
这些都是刘汝佳的算法训练指南上的例题,基本包括了常见的几种二分图匹配的算法. 二分图是这样一个图,顶点分成两个不相交的集合X , Y中,其中同一个集合中没有边,所有的边关联在两个集合中. 给定一个二分 ...
- Taxi Cab Scheme POJ && HDU
Online Judge Problem Set Authors Online Contests User Web Board Home Page F.A.Qs Statistical Charts ...
- Taxi Cab Scheme UVALive - 3126 最小路径覆盖解法(必须是DAG,有向无环图) = 结点数-最大匹配
/** 题目:Taxi Cab Scheme UVALive - 3126 最小路径覆盖解法(必须是DAG,有向无环图) = 结点数-最大匹配 链接:https://vjudge.net/proble ...
- UVA 12549 - 二分图匹配
题意:给定一个Y行X列的网格,网格种有重要位置和障碍物.要求用最少的机器人看守所有重要的位置,每个机器人放在一个格子里,面朝上下左右四个方向之一发出激光直到射到障碍物为止,沿途都是看守范围.机器人不会 ...
- POJ 1274 裸二分图匹配
题意:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶,告诉每头奶牛愿意产奶的牛棚编号,求出最多能分配到的牛栏的数量. 分析:直接二分图匹配: #include<stdio.h> #includ ...
- BZOJ1433 ZJOI2009 假期的宿舍 二分图匹配
1433: [ZJOI2009]假期的宿舍 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2375 Solved: 1005[Submit][Sta ...
随机推荐
- C++混合编程之idlcpp教程Python篇(6)
上一篇在这 C++混合编程之idlcpp教程Python篇(5) 第一篇在这 C++混合编程之idlcpp教程(一) 工程PythonTutorial4中加入了四个文件:PythonTutorial4 ...
- 【AspNetCore】【WebApi】扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat)
扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat) 一.背景 大家在使用WebApi时,会用到DateTime为参数,类似于这 ...
- 如何通过自定义注解实现AOP切点定义
面向切面编程(Aspect Oriented Programming, AOP)是面向对象编程(Object Oriented Programming,OOP)的强大补充,通过横切面注入的方式引入其他 ...
- 何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发
前一天准备下载VS2015预览版,到VisualStudio官网一看,发现微软发布了VisualStudio2013的插件——Visual Studio Tools for Apache Cordov ...
- Windbg用法详解
工作空间 WinDBG的工作空间中保存了以下几种信息 调试会话状态: 包括断点,打开的源文件,用户定义的别名(alias)等. 调试器设置:包括符号文件路径,可执行映像文件路径,源文件路径,用I+/I ...
- 新版markdown功能发布!支持github flavored markdown!
让大家久等了!新版markdown功能一直拖到今天才发布,很是愧疚...但不管怎么样,总算发布了! 今年1月份发布第一版markdown功能之后,很多园友反馈说做得很烂,我们综合大家的反馈之后发现不仅 ...
- Unity3D shader简介
Unity3D shader简介 可以肯定的说Unity3D使得很多开发者开发游戏更容易.毫无疑问,shader(着色器)编码,仍有很长的路要走.shader是一个专门运行在GPU的程序,经常被神秘包 ...
- 剑英陪你玩转图形学(五)focus
很久没来和大家交流业务(zhuangbi)水平了,最近实在是很忙,报名了小游戏大赛,一点时间都抽不出,已经坑了. 今天抓紧时间和大家介绍一个小效果: 新手引导的时候,我们会需要一种全屏幕黑掉,只有一个 ...
- SlipHover,能感知鼠标方向的图片遮罩效果jQuery插件
接上一篇博文,介绍完jQuery插件开发后这里上一个自己的作品,也是初次实践,小有成就的感觉. 话说这个插件年前就写好了,然后挂到GitHub,然后就偷偷看着Google Analysis心中暗自激动 ...
- Python中的几种数据类型
大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"hello" ...