zoukankan      html  css  js  c++  java
  • 洛谷 P2126 Mzc家中的男家丁

    题目背景

    mzc与djn的…还没有众人皆知,所以我们要来宣传一下。

    题目描述

    mzc家很有钱(开玩笑),他家有n个男家丁,现在mzc要将她们全都聚集起来(干什么就不知道了)。现在知道mzc与男家丁们互相之间通信的时间,请算出把他们每个人叫到需要的总时间(要重复的哦)。保证能把他们每个人叫到。

    输入输出格式

    输入格式:

    第一行有一个数n,表示有n个男家丁。第二行一个数m表示有m条通信路线。之后m行,每行三个数a[i],b[i],c[i],表示第a[i]个男家丁(或mzc)和第b[i]个男家丁(或mzc)通信需要时间(双向)。ai=0表示mzc。

    输出格式:

    一行,一个数sum,表示把他们每个人叫到需要的总时间。

    输入输出样例

    输入样例#1:
    5
    12
    0 2 15
    2 3 20
    3 5 13
    1 3 29
    0 1 30
    2 4 21
    0 3 23
    5 1 48
    0 4 17
    0 5 27
    1 2 43
    2 5 41
    
    输出样例#1:
    94
    

    说明

    n<=2300

    m<=2300000

    屠龙宝刀点击就送

    裸Prim 难以理解为什么不用取最小边 

    建边时 dj[x][y]=dj[y][x]=min(dj[x][y],z)  会全WA 。

    直接赋值 会AC 。

    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    
    #define inf 0x7fffffff
    #define Max 3300
    using namespace std;
    
    bool vis[Max];
    int ans=0,Min[Max],dj[Max][Max],n,m;
    int main()
    {
        memset(dj,1,sizeof(dj));
        scanf("%d%d",&n,&m);
        for(int x,y,z;m--;)
        {
            scanf("%d%d%d",&x,&y,&z);
            dj[x][y]=dj[y][x]=z;
        }
        memset(Min,1,sizeof(Min));
        Min[0]=0;
        for(int i=0;i<=n;++i)
        {
            int u,minx=inf;
            for(int j=0;j<=n;++j)
            {
                if(!vis[j]&&Min[j]<minx)
                {
                    u=j;
                    minx=Min[j];
                }
            }
            vis[u]=1;ans+=minx;
            for(int j=1;j<=n;++j)
            if(!vis[j]&&dj[u][j]<Min[j])
            Min[j]=dj[u][j];
        }
        printf("%d",ans);
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    树链剖分 (模板) 洛谷3384
    ST表 (模板) 洛谷3865
    IOI 2005 River (洛谷 3354)
    IOI 2005 River (洛谷 3354)
    poj1094 Sorting It All Out
    poj1094 Sorting It All Out
    spfa(模板)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    洛谷1850(NOIp2016) 换教室——期望dp
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6622862.html
Copyright © 2011-2022 走看看