zoukankan      html  css  js  c++  java
  • 奶牛健美操

    【题目描述】

    农夫让奶牛们在牧场之间奔跑以保持健康。这些牧场的布局是一棵树,且每条边等长度都为1。

    对于给定的一个路径集合,精明的奶牛们会计算出任意点对路径的最大值,我们称之为这个路径集合的直径。

    农夫把每个点标记为1~V(2 <= V <= 100000)。为了获得更加短的直径,他可以选择封锁一些已经存在的道路,这样就可以得到更多的路径集合,从而减小一些路径集合的直径。

    我们从一棵树开始,农夫可以选择封锁S(1 <= S < V)条双向路,从而获得S+1个路径集合。现要求计算出最佳的封锁方案,使得他得到的所有路径集合直径的最大值尽可能小。

    农夫会告诉你所有的(V-1条)双向道路,每条道路表述为:顶点Ai(1 <= Ai <= V)和Bi(1 <= Bi <= V,Ai ≠ Bi)连接。

    我们来看看如下的例子:

    线性的路径集合(7个顶点的树)

    1

     

      2

      

         3

         

           4

           

             5

              

                6

               

                  7

    如果农夫可以封锁两条道路,他可能的选择如下:

    1

     

      2

       X

         3

         

           4

            X

             5

              

               6

               

                 7

    这样最长的直径是2,即是最优答案(当然,不是唯一的)。

    【输入描述】

    第1行输入两个整数V和S;

    第2~V行,每行输入两个整数Ai和Bi

    【输出描述】

    输出一个整数,表示农夫可以获得的最大直径。

    【样例输入】

    7 2

    6 7

    3 4

    6 5

    1 2

    3 2

    4 5

    【样例输出】

    2

    【数据范围及提示】

    对于50%的数据,V <= 100;

    对于100%的数据,V <= 100000。

  • 相关阅读:
    php 判断访问是否是手机或者pc
    SQLSTATE[HY000] [2002] No such file or directory
    No input file specified.
    Call to undefined function openssl_decrypt()
    Parse error: syntax error, unexpected 'class' (T_CLASS)
    tp5关联模型进行条件查询
    windows下php7.1安装redis扩展以及redis测试使用全过程
    SourceTree跳过初始设置
    对象数组(JSON) 根据某个共同字段 分组
    SDUT 3377 数据结构实验之查找五:平方之哈希表
  • 原文地址:https://www.cnblogs.com/Ackermann/p/5904862.html
Copyright © 2011-2022 走看看