51nod 1076 2条不相交的路径(边双连通分量)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076
题意:

思路:
边双连通分量,跑一遍存储一下即可。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<sstream>
#include<vector>
#include<stack>
#include<queue>
#include<cmath>
#include<map>
#include<set>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int maxn=+;
const int mod=1e9+; int n, m;
int tot;
int head[maxn];
int ebbc[maxn],pre[maxn],eccno[maxn],low[maxn];
int ebbc_cnt,dfs_clock; stack<int> S; struct node
{
int v,next;
}e[*maxn]; void addEdge(int u, int v)
{
e[tot].v=v;
e[tot].next=head[u];
head[u]=tot++;
} int tarjan(int u, int fa)
{
int lowu=pre[u]=++dfs_clock;
S.push(u);
for(int i=head[u];i!=-;i=e[i].next)
{
int v=e[i].v;
if(!pre[v])
{
int lowv=tarjan(v,u);
lowu=min(lowu,lowv);
}
else if(v!=fa)
lowu=min(lowu,pre[v]);
}
if(pre[u]==lowu)
{
ebbc_cnt++;
for(;;)
{
int tmp=S.top(); S.pop();
eccno[tmp]=ebbc_cnt;
if(tmp==u) break;
}
}
return low[u]=lowu;
} void find_ebbc()
{
ebbc_cnt=dfs_clock=;
memset(pre,,sizeof(pre));
for(int i=;i<=n;i++)
{
if(!pre[i]) tarjan(i,-);
}
} int main()
{
//freopen("in.txt","r",stdin);
while(~scanf("%d%d",&n,&m))
{
tot=;
memset(head,-,sizeof(head));
for(int i=;i<=m;i++)
{
int u,v;
scanf("%d%d",&u,&v);
addEdge(u,v);
addEdge(v,u);
}
find_ebbc();
int q;
scanf("%d",&q);
while(q--)
{
int u,v;
scanf("%d%d",&u,&v);
if(eccno[u]==eccno[v]) puts("Yes");
else puts("No");
}
}
return ;
}
51nod 1076 2条不相交的路径(边双连通分量)的更多相关文章
- 51nod 1076 2条不相交的路径
给出一个无向图G的顶点V和边E.进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径.(两条路径不经过相同的边) (注,无向图中不存在重边,也就是说确定起点和终点 ...
- AC日记——2条不相交的路径 51nod 1076
1076 2条不相交的路径 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个无向图G的顶点V和边E.进行Q次查询,查询从G的某个顶点V[s] ...
- Codeforces Round #14 D. Two Paths(求树上两条不相交的路径的乘积最大值)
题目链接: http://codeforces.com/problemset/problem/14/D 思路:直接枚举每一天路径的两端,然后求以每一端为树根的树上最长路径,然后相乘就可以了. # ...
- 51Nod--1076 2条不相交的路径(强连通分量)
电波 #include<bits/stdc++.h> using namespace std; #define LL long long #define maxn 30000 vector ...
- LGV - 求多条不相交路径的方案数
推荐博客 :https://blog.csdn.net/qq_25576697/article/details/81138213 链接:https://www.nowcoder.com/acm/con ...
- 不同路径II(一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。)
示例 1: 输入: [ [0,0,0], [0,1,0], [0,0,0] ] 输出: 2 解释: 3x3 网格的正中间有一个障碍物. 从左上角到右下角一共有 2 条不同的路径: 1. 向 ...
- BZOJ1718:[USACO]Redundant Paths 分离的路径(双连通分量)
Description In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numb ...
- Redundant Paths 分离的路径【边双连通分量】
Redundant Paths 分离的路径 题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields ...
- ZOJ 1076 Gene Assembly(LIS+路径打印 贪心)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=76 题目大意:在一个DNA上,给定许多基因的起始位置和结束位置,求出这 ...
随机推荐
- memcached-session-manager 教程实现session共享
1简单介绍 1.1决定用什么序列化策略. 1.2配置tomcat 1.2.1加入 memcached-session-manager jar 包到tomcat中. ...
- Mysql技术内幕——InnoDB存储引擎
Mysql技术内幕——InnoDB存储引擎 http://jingyan.baidu.com/article/fedf07377c493f35ac89770c.html 一.mysql体系结构和存储引 ...
- druid.io本地集群搭建 / 扩展集群搭建
druid.io 是一个比较重型的数据库查询系统,分为5种节点 . 在此就不对数据库进行介绍了,如果有疑问请参考白皮书: http://pan.baidu.com/s/1eSFlIJS 单台机器的集群 ...
- awesome go library 库,推荐使用的golang库
https://github.com/avelino/awesome-go https://github.com/spf13/cobra # A Comm ...
- jenkins 项目发布脚本
构建shell #!/bin/bash ########################################################################## 编译部分 ...
- CMFCPropertyGridProperty的使用
设定初始值 CString str(_T("Button")); COleVariant cOlevariant(str); pTypeProperty->SetOrigin ...
- [LeetCode] 197. Rising Temperature_Easy tag: SQL
Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...
- GNS3的使用2
IDE值没算好,巨卡.重新安装,重新算值.速度快了不少 IDE值:选出现次数多,并且数字大的 2960的选256M 另外加了2个模拟器:ASA防火墙.juniper路由器
- RNN实现字符级语言模型 - 恐龙岛(自己写RNN前向后向版本+keras版本)
问题描述:样本为所有恐龙名字,为了构建字符级语言模型来生成新的名称,你的模型将学习不同的名称模式,并随机生成新的名字. 在这里你将学习到: 如何存储文本数据以便使用rnn进行处理. 如何合成数据,通过 ...
- phper
0 坚持写博客,有独立的博客1 有自己的github项目,目前致力于瓦力:meolu/walle-web · GitHub,瓦尔登:meolu/walden · GitHub变得更实用,欢迎标星:)2 ...