tarjan缩点+判断出度为0的点

所以不需要新建边

 #include <cstdio>
int n,m,p,q,N=,time=,T=,sum=,ans=;
int from[],to[],nex[],fir[],dfn[],low[],l[],tar[],gui[],c[];
bool que[];
void add(int p,int q){ from[++N]=p,to[N]=q,nex[N]=fir[p],fir[p]=N;}
int min(int p,int q){ return (p<q)?p:q;}
void dfs(int k)
{
dfn[k]=low[k]=++time,l[++T]=k,que[k]=;
for(int o=fir[k];o;o=nex[o])
if(!dfn[to[o]])
dfs(to[o]),low[k]=min(low[k],low[to[o]]);
else
if(que[to[o]])
low[k]=min(low[k],dfn[to[o]]);
if(dfn[k]==low[k])
{
sum++;
while(l[T]!=k)
que[l[T]]=,tar[l[T--]]=sum,gui[sum]++;
que[k]=;tar[k]=sum;T--;gui[sum]++;
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
scanf("%d%d",&p,&q),add(p,q);
for(int i=;i<=n;i++)
if(!dfn[i]) dfs(i);
for(int i=;i<=N;i++)
if(tar[from[i]]!=tar[to[i]])
c[tar[from[i]]]=;
for(int i=;i<=sum;i++)
if(!c[i])
if(ans){ printf("0\n");return ;}
else ans=gui[i];
printf("%d\n",ans);
return ;
}

tarjan差点写错,心碎

bzoj1051Tarjan裸题的更多相关文章

  1. 【填坑】bzoj3224 splay裸题

    人生第一道splay不出所料是一道裸题,一道水题,一道2k代码都不到的题 #include <cstdio> ,n,p,q; ],c[][],size[],sp[]; void rot(i ...

  2. tarjan讲解(用codevs1332(tarjan的裸题)讲解)

    主要借助这道比较裸的题来讲一下tarjan这种算法 tarjan是一种求解有向图强连通分量的线性时间的算法.(用dfs来实现) 如果两个顶点可以相互通达,则称两个顶点强连通.如果有向图G的每两个顶点都 ...

  3. LCT裸题泛做

    ①洞穴勘测 bzoj2049 题意:由若干个操作,每次加入/删除两点间的一条边,询问某两点是否连通.保证任意时刻图都是一个森林.(两点之间至多只有一条路径) 这就是个link+cut+find roo ...

  4. 贴一下WC总结里提到的那道裸题吧。。。

    [bzoj4034][HAOI2015]T2 试题描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 ...

  5. HDU 1102 最小生成树裸题,kruskal,prim

    1.HDU  1102  Constructing Roads    最小生成树 2.总结: 题意:修路,裸题 (1)kruskal //kruskal #include<iostream> ...

  6. hdu Flow Problem (最大流 裸题)

    最大流裸题,贴下模版 view code#include <iostream> #include <cstdio> #include <cstring> #incl ...

  7. POJ 3468 线段树裸题

    这些天一直在看线段树,因为临近期末,所以看得断断续续,弄得有些知识点没能理解得很透切,但我也知道不能钻牛角尖,所以配合着刷题来加深理解. 然后,这是线段树裸题,而且是最简单的区间增加与查询,我参考了A ...

  8. POJ 2195 Going Home 最小费用流 裸题

    给出一个n*m的图,其中m是人,H是房子,.是空地,满足人的个数等于房子数. 现在让每个人都选择一个房子住,每个人只能住一间,每一间只能住一个人. 每个人可以向4个方向移动,每移动一步需要1$,问所有 ...

  9. lightoj 1094 Farthest Nodes in a Tree 【树的直径 裸题】

    1094 - Farthest Nodes in a Tree PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: ...

随机推荐

  1. 高程三:Array

    一:Array数组 1.Array.isArray(参数) 检测是否是数组,*不兼容IE8,兼容IE9及以上.Chrome.Firefox等,要兼容IE8,可以用 Object.prototype.t ...

  2. CNN车型分类总结

    最近在做一个CNN车型分类的任务,首先先简要介绍一下这个任务. 总共30个类,训练集图片为车型图片,类似监控拍摄的车型图片,训练集测试集安6:4分,训练集有22302份数据,测试集有14893份数据. ...

  3. IE7 自动为文件路径添加域名

    对于图片等文件的路径,一般在同一个域名下的文件都会使用相对路径,但如果使用JS获取文件的路径浏览器获取到的路径都是相对路径,但IE7会自动为路径添加域名变成绝对路径... IE7下图片路径,在文件相对 ...

  4. 【splay】文艺平衡树 BZOJ 3223

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3  ...

  5. bootstrap - 响应式标题栏

    先要拆分: .navbar  先变成相对定位 设置最小高度为50px: 设置底部边距为20px 然后设置一个 透明边框! 边框倒角 4px   //@media (min-width:768px) - ...

  6. Mongodb 基础(Z)

    Mongodb的客户端支持 作为一款非常成熟NoSQL数据库,Mongdb对各种编程语言的支持已经非常完善了,目前已经支持各大主流编程语言包括:1,mongo shell 2,Python 3,Jav ...

  7. Debian/Ubuntu server上安装安全更新

    原始链接:http://serverfault.com/questions/270260/how-do-you-use-apt-get-to-only-install-critical-securit ...

  8. js_继承

    一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 复制代码代码如下: <SPAN style="<SPAN style="FONT- ...

  9. WPF制作的VS黑色风格的Listbox

    最近写的一个玩具,WPF写出来的东西还是挺好看的 style.xaml <ResourceDictionary xmlns="http://schemas.microsoft.com/ ...

  10. tp5 中 model 的修改器

    修改器可以在数据赋值的时候自动进行转换处理 class User extends Model { public function setNameAttr($value){ return strtolo ...