zoukankan      html  css  js  c++  java
  • 洛谷 P2330 [SCOI2005]繁忙的都市

    题目描述

    城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求:

    1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。

    2.在满足要求1的情况下,改造的道路尽量少。

    3.在满足要求1、2的情况下,改造的那些道路中分值最大的道路分值尽量小。

    任务:作为市规划局的你,应当作出最佳的决策,选择那些道路应当被修建。

    输入输出格式

    输入格式:

     

    第一行有两个整数n,m表示城市有n个交叉路口,m条道路。接下来m行是对每条道路的描述,u, v, c表示交叉路口u和v之间有道路相连,分值为c。(1≤n≤300,1≤c≤10000,1≤m≤50000)

     

    输出格式:

     

    两个整数s, max,表示你选出了几条道路,分值最大的那条道路的分值是多少。

     

    输入输出样例

    输入样例#1:
    4 5
    1 2 3
    1 4 5
    2 4 7
    2 3 6
    3 4 8
    
    输出样例#1:
    3 6
    思路:Kruskal
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define MAXN 100010
    using namespace std;
    int n,m;
    int num,maxn=-1;
    int fa[MAXN];
    struct nond{
        int u,v,w;
    }edge[MAXN];
    int cmp(nond a,nond b){
        return a.w<b.w;
    }
    int find(int x){
        if(fa[x]==x)    return x;
        else return fa[x]=find(fa[x]);
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=m;i++){
            int a,b,c;
            scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].w);
        }
        sort(edge+1,edge+1+m,cmp);
        for(int i=1;i<=n;i++)    fa[i]=i;
        for(int i=1;i<=m;i++){
            int dx=find(edge[i].u);
            int dy=find(edge[i].v);
            if(dx==dy)    continue;
            fa[dy]=dx;
            maxn=max(maxn,edge[i].w);
            num++;
            if(num==n-1)    break; 
        }
        cout<<n-1<<" "<<maxn;
    } 
     
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    android调试推荐使用BlueStacks模拟器调试Android应用
    目录文件Oracle11g彻底删除
    进程间通信学习APUE学习进程间通信(4)
    android选择Windows 8 下配置Cocos2dx + Android + Eclipse 的开发环境
    windbg API 跟踪
    symchk 获取符号文件(PDB)
    acs for PEAPMSCHAPV2
    peapMSCHAPV2
    vs2005 "Key not valid for use in specified state"
    NetUserGetInfo NetUserAdd
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7683463.html
Copyright © 2011-2022 走看看