#include<stdio.h>

#include<stack>

#include<iostream>

#include<string.h>

#include<vector>

#include<string>

using namespace std;

#define inf 1000000000

#define N 2100

vector<int>h[N];//

stack<int>q;///

int dfn[N],low[N],index,indegree[N],a[N],visit[N],suo[N],fee[N],yong;

int min(int a,int b) {

return a>b?b:a;

}

void tarjan(int u) {

int i;

dfn[u]=low[u]=++index;

visit[u]=1;

q.push(u);

for(i=0;i<h[u].size();i++) {

int v=h[u][i];

if(!dfn[v]) {

tarjan(v);

low[u]=min(low[u],low[v]);//

}

else

if(visit[v]==1) //在寨中

low[u]=min(low[u],low[v]);

}

if(dfn[u]==low[u]) {//如果存在一个强连通分量就将里面的出寨

yong++;

int t;

do {

   t=q.top();

q.pop();

visit[t]=2;//已经浏览过了

suo[t]=yong;//讲一个连通分量置为一个点

            if(fee[yong]>a[t])//求出缩点中最小的费用

fee[yong]=a[t];

}while(t!=u);



}

}

int main() {

int n,m,i,j,count,num;

while(scanf("%d%d",&n,&m)!=EOF) {

while(!q.empty()) 

q.pop();

for(i=1;i<=n;i++) {//输入和初始化

scanf("%d",&a[i]);

h[i].clear();

fee[i]=inf;

}

while(m--) {

scanf("%d%d",&i,&j);//

h[i].push_back(j);//

} 

memset(visit,0,sizeof(visit));

index=0;yong=0;

memset(dfn,0,sizeof(dfn));

memset(low,0,sizeof(low));

for(i=1;i<=n;i++)

if(visit[i]!=2)//是否已经入过寨

tarjan(i);

count=0;

memset(indegree,0,sizeof(indegree));

for(i=1;i<=n;i++) 

for(j=0;j<h[i].size();j++) 

  if(suo[i]!=suo[h[i][j]])//如果不是同一个缩点

  indegree[suo[h[i][j]]]++;

  num=0;

  for(i=1;i<=yong;i++)

  if(indegree[i]==0) {//找入度为零的点

  count+=fee[i];

  num++;

  }

  printf("%d %d\n",num,count);

}

return 0;

}

1827 tarjan+缩点的更多相关文章

  1. hihoCoder 1185 连通性·三(Tarjan缩点+暴力DFS)

    #1185 : 连通性·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家.今天一大早,约翰因为有事要出 ...

  2. POJ 1236 Network of Schools(Tarjan缩点)

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16806   Accepted: 66 ...

  3. King's Quest —— POJ1904(ZOJ2470)Tarjan缩点

    King's Quest Time Limit: 15000MS Memory Limit: 65536K Case Time Limit: 2000MS Description Once upon ...

  4. 【BZOJ-2438】杀人游戏 Tarjan + 缩点 + 概率

    2438: [中山市选2011]杀人游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1638  Solved: 433[Submit][Statu ...

  5. 【BZOJ-1924】所驼门王的宝藏 Tarjan缩点(+拓扑排序) + 拓扑图DP

    1924: [Sdoi2010]所驼门王的宝藏 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 787  Solved: 318[Submit][Stat ...

  6. 【BZOJ-1797】Mincut 最小割 最大流 + Tarjan + 缩点

    1797: [Ahoi2009]Mincut 最小割 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1685  Solved: 724[Submit] ...

  7. BZOJ 1051 受欢迎的牛(Tarjan缩点)

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4573  Solved: 2428 [Submit][S ...

  8. HDU4612+Tarjan缩点+BFS求树的直径

    tarjan+缩点+树的直径题意:给出n个点和m条边的图,存在重边,问加一条边以后,剩下的桥的数量最少为多少.先tarjan缩点,再在这棵树上求直径.加的边即是连接这条直径的两端. /* tarjan ...

  9. POJ 1236 Network of Schools(强连通 Tarjan+缩点)

    POJ 1236 Network of Schools(强连通 Tarjan+缩点) ACM 题目地址:POJ 1236 题意:  给定一张有向图,问最少选择几个点能遍历全图,以及最少加入�几条边使得 ...

随机推荐

  1. 基于ASP.Net Core开发一套通用后台框架记录-(数据库设计(权限模块))

    写在前面 本系列博客是本人在学习的过程中搭建学习的记录,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 前期我不会公开源码,我想是一点点敲代码,不然复制.粘贴那就没意思了. ...

  2. JavaScript--DOM节点属性

    节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType ...

  3. Android 性能优化(24)*性能工具之「Traceview,dmtracedump」Profiling with Traceview and dmtracedump :记录并查看函数调用栈*

    Profiling with Traceview and dmtracedump In this document Traceview Layout         Traceview工具界面介绍 T ...

  4. js复制功能

    // 复制功能 copyUrl() { var Url = document.getElementById('biao') Url.select() // 选择对象 document.execComm ...

  5. 【转】mysql INSERT的用法

    转自:http://www.cnblogs.com/ggjucheng/archive/2012/11/05/2754938.html insert的语法 INSERT [LOW_PRIORITY | ...

  6. java 装饰者类

    装饰者模式:增强一个类的功能还可以让装饰者类之间互相装饰. 装饰者模式和继承的区别: 继承实现的增强类: 优点:代码结构清晰,而且实现简单 缺点:对于每一个的需要增强的类都要创建具体的子类来帮助其增强 ...

  7. android studio 的Error:No such property: packageApplicationTask for class: com.android.build.gradle.internal.variant.ApkVariantOutputData解决方法

    出现这个原因是安装了jrebel热部署插件,在projectStructure中的projec选项中,android 插件源仓会有热部署的配置.将jcenter后的配置全部删除就可以 注:本人只安装了 ...

  8. 如何实现ADSL宽带用户开机自动拨号与定时拨号

    在宽带拨号网络的环境下,要通过手动拨号认证才能上网.下面给大家介绍怎么设置开机自动拨号上网以及定时拨号上网. 这也是为一个叫CHY的2B准备的技术套餐,不需要用到网上说的自动拨号软件,只要在主机上设置 ...

  9. 4星|《DK商业百科》:主要商业思想与事件的概括

    全书分为以下6章:1:企业的起步与发展:2:领导和人力资源:3:理财:4:战略和运营:5:营销管理:6:生产与生产后.每章有拆分为成多个比较小的专题,阐述相关专题的主要的商业思想与实践. 基本是作者按 ...

  10. 【sqli-labs】 less63 GET -Challenge -Blind -130 queries allowed -Variation2 (GET型 挑战 盲注 只允许130次查询 变化2)

    引号闭合 http://192.168.136.128/sqli-labs-master/Less-63/?id=1' or '1'='1 剩下的和Less62一样