首页 技术 正文
技术 2022年11月6日
0 收藏 487 点赞 660 浏览 1051 个字

由题意知,最后要保留的边肯定都要被走过

来回一条边所花费的时间=2*边长+安慰边两端的牛所要花的时间和

总时间就等于所保留边来回的时间和+根节点时间;

不难想到做一下最小生成树即可

贪心可知,根一定选在需要安慰时间最小的那个点

 type node=record
       x,y,len:longint;
     end;
var a:array[..] of node;
    fa,w:array[..] of longint;
    n,m,ans,i,j,k1,k2:longint; function getf(x:longint):longint;
  begin
    if x<>fa[x] then fa[x]:=getf(fa[x]);
    exit(fa[x]);
  end; procedure swap(var a,b:node);
  var c:node;
  begin
    c:=a;
    a:=b;
    b:=c;
  end; procedure sort(l,r:longint);
  var i,j,p,q: longint;
  begin
    i:=l;
    j:=r;
    p:=a[(l+r) shr ].len;
    repeat
      while (a[i].len<p) do inc(i);
      while (p<a[j].len) do dec(j);
      if not(i>j) then
      begin
        swap(a[i],a[j]);
        inc(i);
        j:=j-;
      end;
    until i>j;
    if l<j then sort(l,j);
    if i<r then sort(i,r);
  end; begin
  readln(n,m);
  ans:=;
  for i:= to n do
  begin
    readln(w[i]);
    if w[i]<ans then ans:=w[i];
    fa[i]:=i;
  end;
  for i:= to m do
  begin
    readln(a[i].x,a[i].y,a[i].len);
    a[i].len:=a[i].len*+w[a[i].x]+w[a[i].y];
  end;
  sort(,m);
  i:=;
  j:=;
  while i<n- do
  begin
    inc(j);
    k1:=getf(a[j].x);
    k2:=getf(a[j].y);
    if k1<>k2 then
    begin
      inc(i);
      fa[k1]:=k2;
      ans:=ans+a[j].len;
    end;
  end;
  writeln(ans);
end.
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,028
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857