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 ...
随机推荐
- 那些年被我坑过的Python——第十章Broker(rabbitMQ/redis)
基于RabbitMQ的direct任务驱动异步RPC程序实现: RPC_dispatcher指令分发器: #!/usr/bin/env python # -*- coding:utf-8 -*- __ ...
- 支付宝集成获取私钥与公钥-b
项目需要,需要在客户端集成支付宝接口.就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请.下面讲的是申请好之后的操作.登录成功之后, 店家我的商家服务—在页面的下方找到——&g ...
- 用链表解决if语句过多的问题(C/C++实现)
起因 http://www.cnblogs.com/code-style/p/3499408.html 设计模式的解决方案(基于python语言) http://www.cnblogs.com/cod ...
- 轻松解决Win8.1连接受限或无法连接WiFi问题
在无线网络连接设置窗口中,找到当前连接的无线网络“WLAN状态”,右击查看“状态”. 在“WLAN状态”窗口中找到“无线属性”. 进入“无线网络属性”窗口,切换到“安全”页面,点击“高级设置”.最重要 ...
- IllegalArgumentException: Does not contain a valid host:port authority: master:8031
java.lang.IllegalArgumentException: Does not contain a valid host:port authority: master:8031 (confi ...
- Maven实战一
转载:http://www.iteye.com/topic/1123221 1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: Cmd代码 mvn archetype:ge ...
- 设置Tomcat默认界面
修改配置文件: 首先,修改$tomcat/conf/server.xml文件. 在server.xml文件中,有一段如下: …… <engine ...
- Apache HTTP Server mod_dav.c 拒绝服务漏洞(CVE-2013-1896)
漏洞版本: Apache HTTP Server < 2.2.25 漏洞描述: CVE ID:CVE-2013-1896 Apache HTTP Server是一款流行的WEB服务器 Apach ...
- border粗细不一
devicePixelRatio = 1.5 引发的问题
- poj 3304 找一条直线穿过所有线段
题目链接:http://poj.org/problem?id=3304 #include<cstdio> #include<cstring> #include<cmath ...