Vijos P1325桐桐的糖果计划(有向图双连通分量)
/*重边不能删 不能删 不能删...*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 10010
using namespace std;
int n,m,num,head[maxn],low[maxn],dfn[maxn],topt;
int top,s[maxn],f[maxn],ans,sum,belong[maxn],r[maxn];
struct node{int v,pre;}e[maxn*];
void Add(int from,int to)
{
/*for(int i=head[from];i;i=e[i].pre)
if(e[i].v==to)return;*/
e[num].v=to;
e[num].pre=head[from];
head[from]=num++;
}
void Dfs(int x,int fa)
{
low[x]=dfn[x]=++topt;
s[++top]=x;f[x]=;
for(int i=head[x];i!=-;i=e[i].pre)
{
int v=e[i].v;
if(i==(fa^))continue;
if(dfn[v]==)
{
Dfs(v,i);
low[x]=min(low[x],low[v]);
if(low[v]>dfn[x])ans++;
}
else if(f[v])
low[x]=min(low[x],dfn[v]);
}
if(low[x]==dfn[x])
{
sum++;
while(x!=s[top])
{
belong[s[top]]=sum;f[s[top]]=;top--;
}
belong[s[top]]=sum;f[s[top]]=;top--;
}
}
int main()
{
scanf("%d%d",&n,&m);
int u,v;
memset(head,-,sizeof(head));
for(int i=;i<=m;i++)
{
scanf("%d%d",&u,&v);
Add(u,v);Add(v,u);
}
for(int i=;i<=n;i++)
if(dfn[i]==)
Dfs(i,-);
printf("%d\n",ans);ans=;
for(int u=;u<=n;u++)
for(int i=head[u];i!=-;i=e[i].pre)
{
int v=e[i].v;
if(belong[u]!=belong[v])
r[belong[u]]++;
}
for(int i=;i<=sum;i++)
if(r[i]==)ans++;
printf("%d\n",(ans+)/);
}
Vijos P1325桐桐的糖果计划(有向图双连通分量)的更多相关文章
- Vijos P1325桐桐的糖果计划
> P1325桐桐的糖果计划 标签:**图结构 强连通分量** 描述 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致他不得不等到塞的车或人走 ...
- 桐桐的糖果计划(vijos 1325)
背景 桐桐是一个快乐的小朋友,他生活中有许多许多好玩的事,让我们一起来看看吧…… 描述 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致他不得不等到 ...
- VIJOS-P1325 桐桐的糖果计划
VIJOS-P1325 桐桐的糖果计划 JDOJ 1432 桐桐的糖果计划 https://neooj.com/oldoj/problem.php?id=1432 Description 桐桐很喜欢吃 ...
- vijos1325 桐桐的糖果计划
Description 桐桐是一个快乐的小朋友,他生活中有许多许多好玩的事,让我们一起来看看吧-- 桐桐很喜欢吃棒棒糖.他家处在一大堆糖果店的附近. 但是,他们家的区域经常出现塞车.塞人等情况,这导致 ...
- 桐桐的贸易--WA
问题 A: 桐桐的贸易 时间限制: 1 Sec 内存限制: 64 MB提交: 15 解决: 2[提交][状态][讨论版] 题目描述 桐桐家在Allianceance城,好友ROBIN家在Horde ...
- 桐桐的数学游戏(N皇后)
题目描述 相信大家都听过经典的“八皇后”问题吧?这个游戏要求在一个8×8的棋盘上放置8个皇后,使8个皇后互相不攻击(攻击的含义是有两个皇后在同一行或同一列或同一对角线上). 桐桐对这个游戏很感兴趣,也 ...
- 【2018寒假集训 Day1】【位运算】桐桐的运输方案
桐桐的运输方案(transp) [问题描述] 桐桐有 N 件货物需要运送到目的地,它们的重量和价值分别记为: 重量:W1,W2,…,Wn: 价值:V1,V2,…,Vn: 已知某辆货车的最大载货量为 X ...
- Java实现桐桐的数学难题
桐桐的数学难题 题目描述 今天数学课上,桐桐学习了质数的知识:一个正整数如果只能被1和它本身整除,那么这个整数便是质数.桐桐就想:任意一个正整数是否都能分解成若干个质数相乘的形式呢?输入一个正整数n( ...
- DFS的运用(二分图判定、无向图的割顶和桥,双连通分量,有向图的强连通分量)
一.dfs框架: vector<int>G[maxn]; //存图 int vis[maxn]; //节点访问标记 void dfs(int u) { vis[u] = ; PREVISI ...
随机推荐
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
- VS2015开发的Office Addin部署,安装时报错:无法解析属性“type”的值。
用VS2012开发的Outlook插件,在多数情况下安装正常,但是在某些机器上,安装时出现以下错误: 打开VSTOInstaller.exe.config文件查看,其中内容是: <?xml ve ...
- 栈和队列的面试题Java实现
栈和队列: 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min ...
- yii分页
关于分页有一个重要的类CPagination. CPagination represents information relevant to pagination. http://www.yiifra ...
- BZOJ1636: [Usaco2007 Jan]Balanced Lineup
1636: [Usaco2007 Jan]Balanced Lineup Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 476 Solved: 345[ ...
- 【效率】FIND
文档 HTML Flash CSS 字体 命名颜色 工具 IMG
- 【转】 Android开发之EditText属性详解
原文网址:http://blog.csdn.net/qq435757399/article/details/7947862 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: ...
- 【最短路】FOJ 2243 Daxia like uber
题目链接: http://acm.fzu.edu.cn/problem.php?pid=2243 题目大意: 给一张N个点M条边的有向图,从s出发,把在x1的人送到y1,在x2的人送到y2用的最短距离 ...
- cache的工作原理
http://www.360doc.com/content/11/0307/21/3791508_99049437.shtml TLB(Translation Lookaside Buffer,也称快 ...
- eclipse中的项目导出成Androidstudio的识别的项目,so文件打包不进去
需要加入jniLibs.srcDirs = ['libs']才可以把so文件打入包内 sourceSets { main { manifest.srcFile 'AndroidManifest.xml ...