代码是粘的,庆幸我还能看懂。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<stack>
#include<vector> using namespace std;
struct node
{
int num,par;
}p[];
int n,m,index=,x,y,cnt;
vector<int>v[];
bool vis[];
int ind[];
stack<int>s;
bool in_stack[];
void tarjan(int x)
{
p[x].num=index;
p[x].par=p[x].num;
index++;
vis[x]=;
in_stack[x]=;
s.push(x);
for(int i=;i<v[x].size();i++)
{
if(!vis[v[x][i]])
{
tarjan(v[x][i]);
p[x].par=min(p[x].par,p[v[x][i]].par);
}
else if(in_stack[v[x][i]])
{
p[x].par=min(p[x].par,p[v[x][i]].num);
}
}
if(p[x].num==p[x].par)
{
++cnt;
int gutc=;
int k;
do
{
k=s.top();
s.pop();
in_stack[k]=;
gutc++;
}while(k!=x);
if(gutc==) cnt--;
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
for(int i=;i<=n;i++) if(!vis[i]) tarjan(i);
printf("%d\n",cnt);
return ;
}

洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom的更多相关文章

  1. 洛谷——P2863 [USACO06JAN]牛的舞会The Cow Prom

    https://www.luogu.org/problem/show?pid=2863#sub 题目描述 The N (2 <= N <= 10,000) cows are so exci ...

  2. 洛谷 P2863 [USACO06JAN]牛的舞会The Cow Prom

    传送门 题目大意:形成一个环的牛可以跳舞,几个环连在一起是个小组,求几个小组. 题解:tarjian缩点后,求缩的点包含的原来的点数大于1的个数. 代码: #include<iostream&g ...

  3. 洛谷 P2863 [USACO06JAN]牛的舞会The Cow Prom 题解

    每日一题 day11 打卡 Analysis 好久没大Tarjan了,练习练习模板. 只要在Tarjan后扫一遍si数组看是否大于1就好了. #include<iostream> #inc ...

  4. 洛谷 P2863 [USACO06JAN]牛的舞会The Cow Prom(Tarjan)

    一道tarjan的模板水题 在这里还是着重解释一下tarjan的代码 #include<iostream> #include<cstdio> #include<algor ...

  5. 洛谷 P2863 [USACO06JAN]牛的舞会The Cow Prom-强连通分量(Tarjan)

    本来分好组之后,就确定好了每个人要学什么,我去学数据结构啊. 因为前一段时间遇到一道题是用Lca写的,不会,就去学. 然后发现Lca分为在线算法和离线算法,在线算法有含RMQ的ST算法,前面的博客也写 ...

  6. P2863 [USACO06JAN]牛的舞会The Cow Prom

    洛谷——P2863 [USACO06JAN]牛的舞会The Cow Prom 题目描述 The N (2 <= N <= 10,000) cows are so excited: it's ...

  7. bzoj1654 / P2863 [USACO06JAN]牛的舞会The Cow Prom

    P2863 [USACO06JAN]牛的舞会The Cow Prom 求点数$>1$的强连通分量数,裸的Tanjan模板. #include<iostream> #include&l ...

  8. luogu P2863 [USACO06JAN]牛的舞会The Cow Prom |Tarjan

    题目描述 The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in their ...

  9. 【luogu P2863 [USACO06JAN]牛的舞会The Cow Prom】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2863 求强连通分量大小>自己单个点的 #include <stack> #include ...

随机推荐

  1. asp.net listview 实现分页浏览效果

    页面代码: <div style="margin-top:0px;">共<asp:Label ID="lb_count" runat=&quo ...

  2. 较大主干网的ISP通常控制信道利用率不超过50%

    信道利用率 网络利用率  加权平均值

  3. 关于前端js拼接字符串的一点小经验

    1.今天在做项目的时候遇到一个问题,就是使用onclick="xxx()"  点击事件的时候,参数如果为全数字就会出现点击无反应的问题.但是当参数为字符串或者动态内容的时候就会出现 ...

  4. Eclipse添加Qt插件

    此文件仅为步骤操作作一个记录,以便以后方便查阅. 1.操作大体参考这个网站:http://blog.csdn.net/defonds/article/details/5013412 2.我的运行环境: ...

  5. 设置Table边框的CSS

    <!DOCTYPE html> <html> <head> <style> table, td, th { border: 1px solid blac ...

  6. 深入了解以太坊虚拟机第4部分——ABI编码外部方法调用的方式

    在本系列的上一篇文章中我们看到了Solidity是如何在EVM存储器中表示复杂数据结构的.但是如果无法交互,数据就是没有意义的.智能合约就是数据和外界的中间体. 在这篇文章中我们将会看到Solidit ...

  7. 比特币客户端Electrum使用介绍

    简介 比特币的客户端很多,为什么选择Electrum. 首先Electrum真的很轻量,安装马上可以用,不用下载几百G的区块链账本.我之前安装bitcoin核心客户端,这是个完整节点.下载账本都要好多 ...

  8. jfreechart应用3--饼状图 学习(作者:百度 被风吹过的日子)

    jfreechart应用3--饼状图 三. 饼图 在WebRoot目录下建立名为pie的子目录,用来存放本教程中饼图的实例jsp页面.下面让我们来看一个简单的三维饼图.首先在pie目录下建立一个名为s ...

  9. JAVA JVM 流程二

    作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java虚 ...

  10. bzoj 1178: [Apio2009]CONVENTION会议中心(少见做法掉落!)【贪心+二分】

    数组若干+手动二分一个的算法,bzoj rank8 ===============================废话分割线=================================== 我我 ...