• 2017百度之星资格赛:1002度度熊的王国战略


    Problem Description

    度度熊国王率领着喵哈哈族的勇士,准备进攻哗啦啦族。

    哗啦啦族是一个强悍的民族,里面有充满智慧的谋士,拥有无穷力量的战士。

    所以这一场战争,将会十分艰难。

    为了更好的进攻哗啦啦族,度度熊决定首先应该从内部瓦解哗啦啦族。

    第一步就是应该使得哗啦啦族内部不能同心齐力,需要内部有间隙。

    哗啦啦族一共有n个将领,他们一共有m个强关系,摧毁每一个强关系都需要一定的代价。

    现在度度熊命令你需要摧毁一些强关系,使得内部的将领,不能通过这些强关系,连成一个完整的连通块,以保证战争的顺利进行。

    请问最少应该付出多少的代价。

    Input

    本题包含若干组测试数据。

    第一行两个整数n,m,表示有n个将领,m个关系。

    接下来m行,每行三个整数u,v,w。表示u将领和v将领之间存在一个强关系,摧毁这个强关系需要代价w

    数据范围:

    2<=n<=3000

    1<=m<=100000

    1<=u,v<=n

    1<=w<=1000

    Output

      对于每组测试数据,输出最小需要的代价。

    Sample

    Sample Input
    2 1
    1 2 1
    3 3
    1 2 5
    1 2 4
    2 3 3
    Sample Output
    1
    3

    题意:

      给出一个图,破坏图中的某些边,将一个点分离出去。破坏每条边的代价是与这个点相连的边的权值和,问要将此图中的任意一点分离出去,最小代价是多少。(语言表达有点问题,凑合看吧)

    思路:

      这才是真正的签到题,不过出题率有点低,估计很多dalao们直接去做DP,做完之后就没看别的,然后后面的看到DP出题率最高,出题数也最多就直接去搞DP了,然后都忽略了这个大水题。
      明确题意之后就特别简单了,直接定义一个数组记录与每个点相连的边的权值和,然后遍历找最小就行了。  
      我猜坑点在是重边情况,如果是有重边的话,必须两条边都破坏才能分离出这个点,所以重边是需要重复计算的。还有可能就是对题意理解不太明确,要求是一个点孤立,并不是将图分成两个部分。比如1和2之间权值是10,2和3之间权值是5,3和4之间权值是10,那么最小代价应该是10,将第一个点或者最后一个点分离出去,并不是把2和3之间那条边破坏。
      可能出题率低在这里吧。其他是真的没有什么坑。代码也超级简单。

    代码:

    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <string.h>
    using namespace std;
    int main()
    {
        int m,n;
        int sum[10000];
        while(~scanf("%d%d",&n,&m))
        {
            memset(sum,0,sizeof(sum));
            for(int i=1; i<=m; i++)
            {
                int a,b,c;
                cin>>a>>b>>c;
                if(a==b)
                    continue;
                sum[a]+=c,sum[b]+=c;
            }
            sort(sum+1, sum+n+1);
            cout<<sum[1]<<endl;
        }
        return 0;
    }
  • 相关阅读:
    字典的增删改查
    列表的增删改查 and 元祖
    基础数据类型
    python初始1
    python初始
    android APP 中微信分享功能实现 的总结
    android ADT 版本过低的解决办法
    android 布局: LinearLayout如何使TextView中的内容居中显示
    android获取项目下的一张图片的绝对路径问题以及解决方法
    android 4高级编程(第三版)
  • 原文地址:https://www.cnblogs.com/aiguona/p/7294484.html
Copyright © 2020-2023  润新知