zoukankan      html  css  js  c++  java
  • codeforces 893C Rumor 前向星+dfs

    893C Rumor

    思路:

    前向星+DFS

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    #define _for(i,a,b) for(int i=(a); i<(b); ++i)
    #define _rep(i,a,b) for(int i=(a); i<=(b); ++i)
    typedef long long ll;
    const ll maxn = 100005;
    const ll maxm = 200005;
    struct node {
        int to,next;
    } edges[maxm];
    int n,m,u,v,cnt=0,head[maxn],vis[maxn];
    ll w[maxn],minvalue,sum;
    void add(int u, int v) {
        edges[cnt].to=v;
        edges[cnt].next=head[u];
        head[u]=cnt++;
    }
    void dfs(int s) {
        int t;
        for(int i=head[s]; i!=-1; i=edges[i].next) {
            t=edges[i].to;
            if(!vis[t]) {
                vis[t]=1;
                minvalue=min(minvalue,w[t]);
                dfs(t);
            }
        }
    }
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cout.tie(0);
        memset(head,-1,sizeof(head));
        cin>>n>>m;
        _rep(i,1,n) cin>>w[i];
        _rep(i,1,m) {
            cin>>u>>v;
            add(u,v);
            add(v,u);
        }
        sum=0;
        _rep(i,1,n) {
            if(vis[i]) continue;
            minvalue=w[i];
            vis[i]=1;
            dfs(i);
            sum+=minvalue;
        }
        cout<<sum<<endl;
        return 0;
    }
    
  • 相关阅读:
    echarts动态设置主体颜色
    spring security session
    Spark RDD函数:
    MapReduce TOP n
    feign 使用示例
    trie树
    动态修改注解(annotation)值
    golang插件
    Kafka Streams Example
    tcp并发(c18w)
  • 原文地址:https://www.cnblogs.com/lemonbiscuit/p/7897200.html
Copyright © 2011-2022 走看看