[bzoj1051]Popular Cows
刚刚被ysy在联考里虐了,差点爆tan(pi/4),只好来bzoj寻求安慰再被虐一次233
(tarjan是什么智障东西不想打我好弱啊,tarjan都不会打)
Description
Input
Output
一个数,即有多少头牛被所有的牛认为是受欢迎的。
Sample Input
1 2
2 1
2 3
Sample Output
HINT
#include<vector>
#include<cstdio>
#include<cstring>
using std::vector;
const int MAX_V=;
int V,M;
vector<int>G[MAX_V],rG[MAX_V];
vector<int>vs;
bool used[MAX_V];
int cmp[MAX_V];
void add_edge(int s,int t){G[s].push_back(t); rG[t].push_back(s);}
void dfs(int v){
used[v]=;
for(int i=;i<G[v].size();i++)if(!used[G[v][i]])dfs(G[v][i]);
vs.push_back(v);
}
void rdfs(int v,int k){
used[v]=;
cmp[v]=k;
for(int i=;i<rG[v].size();i++)if(!used[rG[v][i]])rdfs(rG[v][i],k);
}
int scc(){
memset(used,,sizeof(used));
for(int v=;v<V;v++)if(!used[v])dfs(v);
memset(used,,sizeof(used));
int k=;
for(int i=vs.size()-;i>=;i--)if(!used[vs[i]])rdfs(vs[i],k++);
return k;
}
int main(){
scanf("%d%d",&V,&M);
for(int i=;i<M;i++){
int a,b;scanf("%d%d",&a,&b);add_edge(a-,b-);
}
int n=scc(),u=,num=;
for(int v=;v<V;v++)if(cmp[v]==n-)u=v,num++;
memset(used,,sizeof(used));
rdfs(u,);
for(int i=;i<V;i++)
if(!used[i]){
num=;
break;
}
printf("%d\n",num);
return ;
}
[bzoj1051]Popular Cows的更多相关文章
- POJ 2186 Popular Cows(Targin缩点)
传送门 Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 31808 Accepted: 1292 ...
- POJ2186 Popular Cows [强连通分量|缩点]
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 31241 Accepted: 12691 De ...
- poj 2186 Popular Cows
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 29908 Accepted: 12131 De ...
- [强连通分量] POJ 2186 Popular Cows
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 31815 Accepted: 12927 De ...
- POJ 2186 Popular Cows(强连通)
Popular Cows Time Limit: 2000MS Memo ...
- poj 2186 Popular Cows (强连通分量+缩点)
http://poj.org/problem?id=2186 Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissi ...
- poj 2186 Popular Cows【tarjan求scc个数&&缩点】【求一个图中可以到达其余所有任意点的点的个数】
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 27698 Accepted: 11148 De ...
- POJ2186 Popular Cows 【强连通分量】+【Kosaraju】+【Tarjan】+【Garbow】
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 23445 Accepted: 9605 Des ...
- POJ 2186 Popular Cows (强联通)
id=2186">http://poj.org/problem? id=2186 Popular Cows Time Limit: 2000MS Memory Limit: 655 ...
随机推荐
- elk中fliebeat的配置文件
fliebeat----> kafka的配置文件 # cat filebeat.yml|egrep -v "^$|^#"|grep -v "^ #" fi ...
- Sobel 边缘检测算子
转自:http://blog.csdn.net/xiaqunfeng123/article/details/17302003 Sobel 算子是一个离散微分算子 (discrete different ...
- Beamer 目录分栏
导言区加入 \usepackage{multicol} 然后 \section*{目录} \frame{\begin{multicols}{} \tableofcontents[hideallsubs ...
- 【Java】Java随手记
System.out.printf() : System.out.printf("%d",x); 输出整数 System.out.printf(&quo ...
- 找不到或无法加载主类(Could not find or load main class)
一般可能会是包名引起的,还有可能就不小心加上了.class后缀 解决方案如下 可以加上目录或者使用符号 . ,注意要用空格隔开 java -cp d:\sample HelloWorldjava -c ...
- rocketmq 4.2.0集群配置
采用的是2m-2s-async模式 1. 修改每台机器的/etc/hosts 文件,增加如下内容 192.168.1.100 nameserver1192.168.1.102 nameserver ...
- Web从入门到放弃<4>
1,插入 如下html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- ubuntu 32/64 bit
https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit how to run 32-bit app ...
- SQL入门(1): 创建/查询/更新/连接/视图/SSMS简介
本文介绍SQL的基本查询语句 (1) select... from * 表示全部, 选择的东西还可以进行简单的运算, 可以列别名 select * from student; -sage from ...
- Sass 增强语法的样式表
功能: 完全兼容CSS3 相对CSS,扩展了变量.嵌套和mixins 对控制颜色和其他值的非常有用的方法 高级功能,如库的直接控制 良好的格式,自定义输出 语法 对于Sass,有两种语法. 一种叫SC ...