Intelligence System
Intelligence System |
| Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
| Total Submission(s): 57 Accepted Submission(s): 27 |
|
Problem Description
After a day, ALPCs finally complete their ultimate intelligence system, the purpose of it is of course for ACM ... ...
Now, kzc_tc, the head of the Intelligence Department (his code is once 48, but now 0), is sudden obtaining important information from one Intelligence personnel. That relates to the strategic direction and future development of the situation of ALPC. So it need for emergency notification to all Intelligence personnel, he decides to use the intelligence system (kzc_tc inform one, and the one inform other one or more, and so on. Finally the information is known to all). We know this is a dangerous work. Each transmission of the information can only be made through a fixed approach, from a fixed person to another fixed, and cannot be exchanged, but between two persons may have more than one way for transferring. Each act of the transmission cost Ci (1 <= Ci <= 100000), the total cost of the transmission if inform some ones in our ALPC intelligence agency is their costs sum. Something good, if two people can inform each other, directly or indirectly through someone else, then they belong to the same branch (kzc_tc is in one branch, too!). This case, it’s very easy to inform each other, so that the cost between persons in the same branch will be ignored. The number of branch in intelligence agency is no more than one hundred. As a result of the current tensions of ALPC’s funds, kzc_tc now has all relationships in his Intelligence system, and he want to write a program to achieve the minimum cost to ensure that everyone knows this intelligence. It's really annoying! |
|
Input
There are several test cases.
In each case, the first line is an Integer N (0< N <= 50000), the number of the intelligence personnel including kzc_tc. Their code is numbered from 0 to N-1. And then M (0<= M <= 100000), the number of the transmission approach. The next M lines, each line contains three integers, X, Y and C means person X transfer information to person Y cost C. |
|
Output
The minimum total cost for inform everyone.
Believe kzc_tc’s working! There always is a way for him to communicate with all other intelligence personnel. |
|
Sample Input
3 3 |
|
Sample Output
150 |
|
Source
2009 Multi-University Training Contest 17 - Host by NUDT
|
|
Recommend
lcy
|
/*
题意:给出n个人能联系的关系,和相应的电话费,让你求出最少的电话费 初步思路:强连通,缩点
*/
#include<bits/stdc++.h>
using namespace std;
const int InF=1e9+;
const int maxn=;
const int maxm=;
int n,m,cnt,id;
/**************************强连通模板******************************/
int dfn[maxn],low[maxn],cost[maxn],in[maxn];
vector<int> G[maxn];
stack<int> s;
bool inq[maxn];
struct edge{
int u,v,w;
edge(int u=,int v=,int w=):u(u),v(v),w(w){}
}E[maxm];
void init(){
cnt=id=;
while(!s.empty()) s.pop();
memset(dfn,,sizeof dfn);
memset(low,,sizeof low);
memset(in,,sizeof in);
for(int i=;i<=n;i++){
cost[i]=InF;
G[i].clear();
inq[i]=false;
}
}
void Tarjan(int x){
dfn[x]=low[x]=++id;
inq[x]=true;
s.push(x);
int t,Size=G[x].size();
for(int i=;i<Size;i++){
t=G[x][i];
if(!dfn[t]){
Tarjan(t);
low[x]=min(low[x],low[t]);
}
else if(inq[t]) low[x]=min(low[x],dfn[t]);
} //前面都差不多
if(dfn[x]==low[x]) {
cnt++;
do{
t=s.top(); s.pop();
inq[t]=false;
in[t]=cnt;
}while(t!=x);
}
}
/**************************强连通模板******************************/
int main(){
// freopen("in.txt","r",stdin);
while(scanf("%d%d",&n,&m)!=EOF){
init();
int u,v,w;
for(int i=;i<=m;i++){
scanf("%d%d%d",&u,&v,&w);
E[i]=edge(u,v,w);
G[u].push_back(v);
}
for(int i=;i<n;i++)
if(!dfn[i]) Tarjan(i);
for(int i=;i<=m;i++){//将连通块连起来:缩点
edge& e=E[i];
int u=e.u,v=e.v,w=e.w;
int x=in[u],y=in[v];
if(x!=y)
cost[y]=min(cost[y],w);
}
int sum=;
for(int i=;i<=cnt;i++){
if(i==in[]||cost[i]==InF) continue;
sum+=cost[i];
}
printf("%d\n",sum);
}
return ;
}
Intelligence System的更多相关文章
- HDU 3072 Intelligence System (强连通分量)
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- hdoj 3072 Intelligence System【求scc&&缩点】【求连通所有scc的最小花费】
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- HDU 3072 Intelligence System(tarjan染色缩点+贪心+最小树形图)
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- hdu 3072 Intelligence System(Tarjan 求连通块间最小值)
Intelligence System Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) ...
- Intelligence System (hdu 3072 强联通缩点+贪心)
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- HDU——3072 Intelligence System
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- HDU——T 3072 Intelligence System
http://acm.hdu.edu.cn/showproblem.php?pid=3072 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- HDU3072 Intelligence System
题目传送门 有个中文版的题面...和原题稍有不同 /* Description “这一切都是命运石之门的选择.” 试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短信,并由此得知了伦 ...
- hdu3072 Intelligence System (最小树形图?)
题意:给一个有向图,问要从0号点能到达所有点所需要经过路径的最小权值和是多少,然而,若两点强联通,则这两点互相到达不需要花费.保证0号点能到达所有点 tarjan缩点以后直接取每个点入边中花费最小的即 ...
随机推荐
- webstorm配置scss环境
1.下载 Ruby (安装过程中记得勾选添加到环境变量,安装结束最后可能会弹出一个cmd弹框,可以忽略) 2. cmd安装sass gem install sass 3. cmd检查是否安装 sas ...
- iOS蓝牙心得
1.获取蓝牙mac地址 因为安卓不能得到uuid,所以,在要同步的时候要将uuid转换成mac地址,下面是转换方法 [peripheral discoverServices:@[[CBUUID UUI ...
- 《effective Go》读后记录
一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序. 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处 ...
- Java环境配置小记
今年新开Java课程第一步就是-配置环境 博客开坑,就从Java的环境配置开始好了 以下是正式的步骤 首先,从Oracle的官网下载jdk的安装包 点我下载Java SE开发套件 先点接受许可协议,然 ...
- [SDOI2011]工作安排
Description 你的公司接到了一批订单.订单要求你的公司提供n类产品,产品被编号为1~n,其中第i类产品共需要Ci件.公司共有m名员工,员工被编号为1~m员工能够制造的产品种类有所区别.一件产 ...
- NOIP2017SummerTraining0714
个人感受:第一题做了字典树,还运行错误,然后就弃疗了,然后水了二三两题,总共拿了85分,倒数. 正确答案 时间限制: 2 Sec 内存限制: 256 MB提交: 702 解决: 82[提交][状态 ...
- 在Kubernetes集群中使用calico做网络驱动的配置方法
参考calico官网:http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/kubeadm ...
- javascript Dom 编程
javascript Dom 编程 知识概要: (1)Dom是什么? (2)Dom结构模型 (3)XML DOM和 HTML DOM (4)NODE接口的特性和方法 (5)DOM结点的常用属性 ...
- Yarn一点小认识
正文 打开官网http://hadoop.apache.org/docs/r2.6.5/hadoop-yarn/hadoop-yarn-site/YARN.html,将图片拿过来. 我用的是2.6.5 ...
- OC实现同步访问属性
有时候,我们在开发过程中需要对属性的访问进行同步操作,这种属性需要做成原子的,用atomic来修饰属性,即可实现这一点. 如果我们想自己实现,可以按照下面方式写代码: SFPerson.h #impo ...