看了别人博客  http://blog.csdn.net/jokes000/article/details/7538994

  1. #include <cstdio>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <iostream>
  5. #include <cstdlib>
  6. #include <string>
  7. #include <queue>
  8. #include <stack>
  9. #include <cstring>
  10. #define CL(a,b) memset(a,b,sizeof(a))
  11. #define ll __int64
  12. #define TEST cout<<"TEST ***"<<endl;
  13. #define INF 0x7ffffff0
  14. #define MOD 1000000007
  15. using namespace std;
  16.  
  17. typedef struct myedge
  18. {
  19. int e,next;
  20. }E;
  21. E edge[];
  22. stack <int> st;
  23.  
  24. int head[],ct,tim;
  25. int ti[],lo[],ins[],n,m;
  26.  
  27. void inithead()
  28. {
  29. CL(head,-);
  30. tim=;
  31. ct=;
  32. }
  33.  
  34. void addedge(int s,int e)
  35. {
  36. edge[ct].e=e;edge[ct].next=head[s];head[s]=ct++;
  37. }
  38.  
  39. void targan(int i)
  40. {
  41. tim++;
  42. ti[i]=tim;lo[i]=tim;
  43. st.push(i);
  44. ins[i]=;
  45. int p=head[i];
  46. int v;
  47. while(p!=-)
  48. {
  49. v=edge[p].e;
  50. if(ins[v]==)
  51. {
  52. lo[i]=min(lo[v],lo[i]);
  53. }
  54. else if(ti[v]==)
  55. {
  56. targan(v);
  57. lo[i]=min(lo[i],lo[v]);
  58. }
  59. p=edge[p].next;
  60. }
  61. if(lo[i]==ti[i])
  62. {
  63. while(!st.empty()&&lo[st.top()]==ti[i])
  64. {
  65. ins[st.top()]=;
  66. st.pop();
  67. }
  68. }
  69. }
  70.  
  71. int main()
  72. {
  73. while(scanf("%d %d",&n,&m)!=EOF)
  74. {
  75. if(n==&&m==)break;
  76. int i,j,a,b;
  77. inithead();
  78. CL(lo,);
  79. CL(ti,);
  80. CL(ins,);
  81. for(i=;i<m;i++)
  82. {
  83. scanf("%d %d",&a,&b);
  84. addedge(a,b);
  85. }
  86. targan();
  87. int re=;
  88. for(i=;i<=n;i++)
  89. {
  90. if(lo[i]==ti[i])re++;
  91. }
  92. // cout<<re<<endl;
  93. if(re==)printf("Yes\n");
  94. else printf("No\n");
  95. }
  96. return ;
  97. }

HDU 1269 裸奔的强联通分量的更多相关文章

  1. HDU 1269 迷宫城堡 【强联通分量(模版题)】

    知识讲解: 在代码里我们是围绕 low 和 dfn 来进行DFS,所以我们务必明白 low 和 dfn 是干什么的? 有什么用,这样才能掌握他.   1.  dfn[]  遍历到这个点的时间 2.   ...

  2. hdu 1269 迷宫城堡(强联通分量,基础)

    这是一道模版题 题目 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include ...

  3. 【强联通图 | 强联通分量】HDU 1269 迷宫城堡 【Kosaraju或Tarjan算法】

      为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明 ...

  4. HDU 4685 Prince and Princess(二分匹配+强联通分量)

    题意:婚配问题,但是题目并不要求输出最大匹配值,而是让我们输出,一个王子可以与哪些王妃婚配而不影响最大匹配值. 解决办法:先求一次最大匹配,如果有两个已经匹配的王妃,喜欢她们两个的有两个或者以上相同的 ...

  5. HDU 5934 强联通分量

    Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. [vios1023]维多利亚的舞会3<强联通分量tarjan>

    题目链接:https://vijos.org/p/1023 最近在练强联通分量,当然学的是tarjan算法 而这一道题虽然打着难度为3,且是tarjan算法的裸题出没在vijos里面 但其实并不是纯粹 ...

  7. Kosaraju算法---强联通分量

    1.基础知识 所需结构:原图.反向图(若在原图中存在vi到vj有向边,在反向图中就变为vj到vi的有向边).标记数组(标记是否遍历过).一个栈(或记录顶点离开时间的数组).      算法描叙: :对 ...

  8. [CF #236 (Div. 2) E] Strictly Positive Matrix(强联通分量)

    题目:http://codeforces.com/contest/402/problem/E 题意:给你一个矩阵a,判断是否存在k,使得a^k这个矩阵全部元素都大于0 分析:把矩阵当作01矩阵,超过1 ...

  9. UVa 11324 & 强联通分量+DP

    题意: 一张无向图,求点集使其中任意两点可到达. SOL: 强联通分量中的点要么不选要么全都选,然后缩点DAG+DP 记录一下思路,不想写了...代码满天飞.

随机推荐

  1. js大文件分割上传

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  2. jquery1.9学习笔记 之选择器(基本元素三)

    标签选择器("element") 描述: 选择所有与给出标签名相匹配的元素. 同功能的JS原生方法:getElementByTagName() 例子:  查找每个div元素. &l ...

  3. 在Mac上使用Nginx和FastCGI部署Flask应用

    最近在学习Flask,本文介绍一下如何部署Flask开发的应用,同时也学习一下Nginx的使用,这只是在Mac上的一个实验. 应用 这里使用的应用就是官方的文档中给出的Flaskr. 安装Nginx ...

  4. Entity Framework With Mysql 之Code First

    Entity Framework 4.0现在也可以支持Mysql数据库了,这篇文章将向你展示如何用Code First的方式来实现. 1.首先新建一个项目,在项目中用NuGet添加如下引用: 2.在w ...

  5. 这样就算会了PHP么?-9

    PHP关于COOKIE的应用 <?php if (!isset($_COOKIE["visittime"])) { setcookie("visittime&quo ...

  6. 基于异步的MVC webAPI控制器

    MVC – Task-based Asynchronous Pattern (TAP) – Async Controller and SessionLess Controller Leave a re ...

  7. TestNG基本注解(注释)

    传统的方式来表示JUnit3中的测试方法是测试自己的名字前缀.标记一个类中的某些方法,具有特殊的意义,这是一个非常有效的方法,但命名不很好的扩展(如果我们想添加更多标签为不同的框架?),而非缺乏灵活性 ...

  8. .NET中 DAL+IDAL+Model+BLL+Web是什么意思

    在.NET中 DAL+IDAL+Model+BLL+Web是什么意思 http://hi.baidu.com/hexiaojian/item/8d0c1a8e648546d75e0ec1e7 其实三层 ...

  9. 修改xcode代码风格设置

    1.找到文件:/Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/S ...

  10. openStack kilo 手动Manual部署随笔记录

    一 ,基于neutron网络资源主机(控制节点,网络节点,计算节点)网络规划配置 1, controller.cc 节点 网络配置截图