tarjan

父节点和子节点

  1 #include <cstdio>
  2 #include <cstdlib>
  3 #include <cmath>
  4 #include <cstring>
  5 #include <time.h>
  6 #include <string>
  7 #include <set>
  8 #include <map>
  9 #include <list>
 10 #include <stack>
 11 #include <queue>
 12 #include <vector>
 13 #include <bitset>
 14 #include <ext/rope>
 15 #include <algorithm>
 16 #include <iostream>
 17 using namespace std;
 18 #define ll long long
 19 #define minv 1e-6
 20 #define inf 1e9
 21 #define pi 3.1415926536
 22 #define E  2.7182818284
 23 const ll mod=1e9+7;//998244353
 24 const int maxn=1e6+10;
 25
 26 struct node
 27 {
 28     int d,pos,c;
 29     node* next;
 30 }*e[maxn];
 31
 32 bool vis[maxn]={0};
 33 int dfn[maxn],low[maxn],num=0,g=0,n,cond[maxn],st[maxn],fa[maxn];
 34
 35 void dfs(int d)
 36 {
 37     int dd;
 38     node* p=e[d];
 39     dfn[d]=low[d]=++num;
 40     vis[d]=1;
 41     st[++g]=d;
 42     while (p)
 43     {
 44         dd=p->d;
 45         if (!vis[dd])
 46         {
 47             fa[dd]=d;
 48             dfs(dd);
 49             low[d]=min(low[d],low[dd]);
 50             cond[p->pos]=p->c;
 51         }
 52         //lack whether in stack (not necessarily)
 53         else if (fa[d]!=dd)
 54         {
 55             low[d]=min(low[d],dfn[dd]);
 56             if (dfn[d]>dfn[dd])
 57                 cond[p->pos]=p->c;
 58         }
 59         p=p->next;
 60     }
 61     if (dfn[d]==low[d])
 62     {
 63         if (g!=n || st[1]!=d)
 64         {
 65             printf("impossible");
 66             exit(0);
 67         }
 68     }
 69 }
 70
 71 int main()
 72 {
 73     node* p;
 74     int m,i,x,y;
 75     scanf("%d%d",&n,&m);
 76     for (i=1;i<=m;i++)
 77     {
 78         scanf("%d%d",&x,&y);
 79         p=(node*) malloc (sizeof(node));
 80         p->d=y;
 81         p->pos=i;
 82         p->c=0;
 83         p->next=e[x];
 84         e[x]=p;
 85
 86         p=(node*) malloc (sizeof(node));
 87         p->d=x;
 88         p->pos=i;
 89         p->c=1;
 90         p->next=e[y];
 91         e[y]=p;
 92     }
 93     fa[1]=0;
 94     dfs(1);
 95     for (i=1;i<=m;i++)
 96         printf("%d",cond[i]);
 97     return 0;
 98 }
 99 /*
100 3 2
101 1 2
102 2 3
103 */

转载于:https://www.cnblogs.com/cmyg/p/9532517.html

E 定向 牛客练习赛25相关推荐

  1. 牛客练习赛 25 E题 定向 【桥 + 思维】 无向图定方向变强连通图

    传送门 题意: 给定一个无向图, 然后你要给这幅图每条边加上一个方向, 使得这个图是有向图强连通 思路: 关键在于如何判断无解的情况, 如果能保证当前的图有解, 那么直接dfs一下就可以出答案. 仔细 ...

  2. 牛客练习赛25 B-最长区间

    题目链接: 题目描述 给你一个长度为 n 的序列 a ,求最长的连续的严格上升区间的长度. 同时会进行 m 次修改,给定 x , y ,表示将 ax 修改为 y ,每次修改之后都要求输出答案. 输入描 ...

  3. 牛客练习赛25 因数个数和

    题目链接 题目描述 q次询问,每次给一个x,问1到x的因数个数的和. 输入描述: 第一行一个正整数q : 接下来q行,每行一个正整数 x 输出描述: 共q行,每行一个正整数表示答案 示例1 输入 4 ...

  4. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  5. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  6. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  7. 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)

    title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...

  8. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

    牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

  9. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)

    牛客练习赛73 D 离别 思路: 对于每一个固定的右端点i,我们都找到一个区间(l,r)使得区间中的点为左端点时 里面最大的的种数为k. 这个可以用队列或者vector来维护. 然后我们对于q个查询, ...

最新文章

  1. java重定向带参数_急 求助重新封装重定向带参数问题
  2. 活久见!音乐在AR手里“活”了起来
  3. 算法—详细讲解单向链表的实现(python)
  4. android 关闭软键盘_HTC官方社区明天正式关闭,收入持续下滑或是直接原因
  5. (pytorch-深度学习系列)pytorch避免过拟合-dropout丢弃法的实现-学习笔记
  6. 【python】sys.stdout输出不换行
  7. Eigen--Array
  8. oracle定时关闭job,Oracle job定时操作
  9. 使用 web storage 制作简单留言本
  10. 使用vmware12安装Ubuntu 遇到的两个问题和解决
  11. xmldocument的使用
  12. bzoj 2694: Lcm
  13. iapp软件库源码分享
  14. 工商企业大数据爬虫系统
  15. html5 在线留言,html5实现手机弹窗留言对话框
  16. Configuring CODESYS
  17. CHD5.3.6在线安装和维护踩坑指南
  18. 神器 | 百度云资源搜索
  19. 第一篇自用博客:git的操作(防忘记用的hh)封面是我最爱的歌手ikura强推她的每一首歌,简直就是行走的唱片啊有木有!
  20. 域名代购还需要关注到全方位宣传

热门文章

  1. 那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)
  2. 不用更改注册表就可以更改桌面所在的位置
  3. XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘
  4. authorization 传 就跨域_headers中添加允许token,客户端跨域请求问题
  5. 进程调度的时机,切换与过程,方式
  6. Discord是什么
  7. python是什么内容
  8. 身边的同学突然去世,听到消息的时候会伤心吗?
  9. 你在现实中遇到让你最跌破三观的人或者事是什么?
  10. 女婿的行为,老丈人哪些不能管,哪些必须管,哪些可管可不管?