判断能否从一个点同时找出两条不相交的路径到另外两个点。

保证路径不相交,那么需要拆点。然后?好像就没什么了,直接最大流即可。

不过,,,不需要求出所有的最大流,只要跑两次EK看看能否增广两次就行了。

召唤代码君:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
#define maxn 2001000
#define maxm 5002000
using namespace std; int L[maxn],R[maxn],Li[maxn],Ri[maxn];
int to[maxm],next[maxm],c[maxm],first[maxn],edge,node;
int from[maxn],tag[maxn],TAG=;
int Q[maxm],bot,top;
int n,m,s,t,T; int addnode()
{
first[++node]=-;
return node;
} void addedge(int U,int V)
{
edge++;
to[edge]=V,c[edge]=,next[edge]=first[U],first[U]=edge;
edge++;
to[edge]=U,c[edge]=,next[edge]=first[V],first[V]=edge;
} void _input()
{
int U,V;
node=,edge=-;
scanf("%d%d",&n,&m);
while (m--)
{
scanf("%d%d",&U,&V);
if (Li[U]!=TAG) Li[U]=TAG,L[U]=addnode(),R[U]=addnode(),addedge(L[U],R[U]);
if (Li[V]!=TAG) Li[V]=TAG,L[V]=addnode(),R[V]=addnode(),addedge(L[V],R[V]);
addedge(R[U],L[V]),addedge(R[V],L[U]);
}
t=addnode();
if (Li[]==TAG) s=R[];
else s=addnode();
if (Li[]==TAG) addedge(R[],t);
if (Li[]==TAG) addedge(R[],t);
} bool EK()
{
Q[bot=top=]=s,tag[s]=++TAG,from[s]=-;
while (bot<=top)
{
int cur=Q[bot++];
for (int i=first[cur]; i!=-; i=next[i])
if (c[i]> && tag[to[i]]!=TAG)
{
Q[++top]=to[i],from[to[i]]=i,tag[to[i]]=TAG;
if (to[i]==t)
{
for (int k=t; from[k]!=-; k=to[from[k]^])
c[from[k]]--,c[from[k]^]++;
return true;
}
}
}
return false;
} int main()
{
scanf("%d",&T);
while (T--)
{
_input();
if (EK() && EK()) puts("YES");
else puts("NO");
}
return ;
}

SPOJ IM_Intergalactic Map的更多相关文章

  1. SPOJ IM - Intergalactic Map - [拆点最大流]

    题目链接:http://www.spoj.com/problems/IM/en/ Time limit:491 ms Memory limit:1572864 kB Code length Limit ...

  2. SPOJ 962 Intergalactic Map (网络最大流)

    http://www.spoj.com/problems/IM/ 962. Intergalactic Map Problem code: IM Jedi knights, Qui-Gon Jinn ...

  3. SPOJ 962 Intergalactic Map

    Intergalactic Map Time Limit: 6000ms Memory Limit: 262144KB This problem will be judged on SPOJ. Ori ...

  4. SPOJ ADAFIELD Ada and Field(STL的使用:set,multiset,map的迭代器)题解

    题意:n*m的方格,“0 x”表示x轴在x位置切一刀,“0 y”表示y轴在y位置切一刀,每次操作后输出当前面积最大矩形. 思路:用set分别储存x轴y轴分割的点,用multiset(可重复)储存x轴y ...

  5. SPOJ - ADAFIELD ,Set+map,STL不会超时!

    ADAFIELD - Ada and Field 这个题,如果用一个字来形容的话:-----------------------------------------------嗯! 题意:n*m的空白 ...

  6. Intergalactic Map SPOJ - IM

    传送门 我觉得我写得已经和题解一模一样了,不知道为什么就是过不了..懒得拍了,反正不是很难,不太想浪费时间. 1~2~3的一条路径相当于从2~1的一条路径+2~3的一条路径,点不能重复经过,于是拆点. ...

  7. SPOJ 962 Intergalactic Map (从A到B再到C的路线)

    [题意]在一个无向图中,一个人要从A点赶往B点,之后再赶往C点,且要求中途不能多次经过同一个点.问是否存在这样的路线.(3 <= N <= 30011, 1 <= M <= 5 ...

  8. SPOJ 0962 Intergalactic Map

    题目大意:在一个无向图中,一个人要从A点赶往B点,之后再赶往C点,且要求中途不能多次经过同一个点.问是否存在这样的路线.(3 <= N <= 30011, 1 <= M <= ...

  9. spoj 962 IM - Intergalactic Map【最大流】

    因为是无向图,所以从1到2再到3等于从2到1和3.用拆点来限制流量(i,i+n,1),然后连接(s,2+n,1),(1,t,1),(3,t,1),对于原图中的边连接(x+n,y,1)(y+n,x,1) ...

随机推荐

  1. Java类的加载的一个小问题

    前言 之前写了一篇文章专门介绍了一下类的加载和对象的创建流程,然后收到了一个博友的疑问,觉得蛮好的,在这里和大家分享下. 博文地址:[Java基础]Java类的加载和对象创建流程的分析 疑问 类在加载 ...

  2. 使用JDBC连接MySQL数据库

    Java数据库连接(Java DataBase connectivity简称JDBC) 下载JDBC驱动:https://dev.mysql.com/downloads/connector/j/ Wi ...

  3. C#/VB.NET与西门子PLC进行ModbusTcp通信

    进入自动化行业半年多了,每天都与机器打交道. 前段时间接手一个任务,需要将我们机台与下站机台进行通讯,我们机台是PC,下站机台为西门子S7-1200. 想想完成这个任务,领导就会对我这个新人刮目相看, ...

  4. YouTube视频下载方法汇总

    YouTube是一个视频共享网站,YouTuber们自己拍摄并制作视频,上传到YouTube,然后用户观看.分享并评论这些内容.虽然在线观看很方便,但是有些时候你却只能处于离线的状态,比如出差.旅游. ...

  5. 结对测试 vs 随机测试

    在接口测试过程中,最关键的是对参数的各种情况进行测试. 随机测试是指随机选择一些参数值来测. 结对测试是指parewise算法生成较高“性价比”的组合情况来测. 随机测试存在的问题 随机,这两个字本身 ...

  6. 保留mysql数据库中的最新1000条记录

    <?php mysql_connect("localhost","root","root");mysql_select_db(&quo ...

  7. aws存储桶s3使用

    关于aws s3的使用说明: aws官方文档地址:https://docs.aws.amazon.com/s3/index.html#lang/zh_cn 创建s3与基础使用: 1.登陆aws控制台- ...

  8. Go语言2

    Go语言特点: 类型检查:编译时 运行环境:编译成机器代码直接运行 编程范式:面向接口,函数式编程,并发编程 Go并发编程 采用CSP(Communication Sequenication Proc ...

  9. node.js主从分布式爬虫

    前言 前文介绍过用Python写爬虫,但是当任务多的时候就比较慢, 这是由于Python自带的http库urllib2发起的http请求是阻塞式的,这意味着如果采用单线程模型,那么整个进程的大部分时间 ...

  10. hive的udf创建永久函数

    上传jar包到hdfs目录中, hdfs dfs -put /home/user/hive-functions.jar /user/hive/jars/hive-functions.jar   cre ...