题意/Description:

车展结束后,游乐园决定举办一次盛大的山道拉力赛,平平和韵韵自然也要来参加大赛。
赛场上共有n个连通的计时点,n-1条赛道(构成了一棵树)。每个计时点的高度都不相同(父结点的高度必然大于子结点),相邻计时点间由赛道相连。由于马力不够,所以韵韵的遥控车只能从高处驶向低处。而且韵韵的车跑完每条赛道都需花费一定的时间。
       举办方共拟举办m个赛段的比赛,每次从第u个计时点到第v个计时点,当然其中有不少比赛韵韵的遥控车是不能参加的(因为要上坡)。平平想知道他能参加多少个赛段的比赛,并且想知道他完成这些赛段的总用时。

读入/Input:

第一行两个整数n,m。
       接下来n-1行每行3个整数a、b、t。
       表示韵韵的遥控车可以花t秒从第a个计时点到第b个计时点。
       接下来m行每行2个整数u、v,意义如描述所示。

输出/Output:

第一行输出一个正整数,表示能参加的赛段数。
       第二行输出一个正整数,表示总用时。

题解/solution:

求两个点的LCA,但是有一个现实条件就是,两个点之间一定要有一个点是另一个点的祖先,不然韵韵就无法参加(根据题意),所以判断一下就行。注意要用int64!!!

代码/Code:

typearr=recordy,w,next:longint;end;
varn,m,nm:longint;ans,anss:int64;tu:array [0..20001] of arr;use:array [0..10001] of boolean;go:array [0..10001,0..20] of longint;ls,deep,sum:array [0..10001] of longint;procedure add(o,p,ww:longint);
begininc(nm);with tu[nm] dobeginy:=p; w:=ww;next:=ls[o];ls[o]:=nm;end;
end;procedure dfs(x,last:longint);
vari:longint;
begini:=ls[x];while i>0 dowith tu[i] dobeginif y<>last thenbegingo[y][0]:=x;deep[y]:=deep[x]+1;sum[y]:=sum[x]+w;dfs(y,x);end;i:=next;end;
end;procedure try1(var x:longint; k:longint);
vari:longint;
beginfor i:=15 downto 0 doif ((1 shl i)) and k>0 then x:=go[x,i];
end;function LCA(x,y:longint):longint;
vari:longint;
beginif deep[x]>deep[y] then try1(x,deep[x]-deep[y]);if deep[y]>deep[x] then try1(y,deep[y]-deep[x]);if x=y then exit(x);for i:=15 downto 0 doif go[x,i]<>go[y,i] thenbeginx:=go[x,i];y:=go[y,i];end;exit(go[x,0]);
end;procedure init;
vari,x,y,w:longint;
beginreadln(n,m);for i:=1 to n-1 dobeginreadln(x,y,w);add(x,y,w); add(y,x,w);use[y]:=true;end;
end;procedure main;
vart,i,j,x,y:longint;
beginfor i:=1 to n doif not use[i] then t:=i;ans:=0; anss:=0;dfs(t,0);for i:=1 to 15 dofor j:=1 to n dogo[j,i]:=go[go[j,i-1],i-1];for i:=1 to m dobeginreadln(x,y);if lca(x,y)=x thenbegininc(ans);anss:=anss+(sum[y]-sum[x]);end;end;writeln(ans);write(anss);
end;begininit;main;
end.

转载于:https://www.cnblogs.com/zyx-crying/p/9319665.html

拉力赛 (Standard IO)相关推荐

  1. 4246. 【五校联考6day2】san (Standard IO)

    4246. [五校联考6day2]san (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits D ...

  2. 2554. 【NOIP2011模拟9.7】帕秋莉·诺蕾姬 (Standard IO)

    2554. [NOIP2011模拟9.7]帕秋莉·诺蕾姬 (Standard IO) Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的 ...

  3. JZOJ 1775. 合并果子2 (Standard IO)

    1775. 合并果子2 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 在一个果园里,多多已经将所有的果子 ...

  4. 1116. 【HNOI2008】T_OY(踢欧阳^_^) (Standard IO)斜率优化dp

    1116. [HNOI2008]T_OY(踢欧阳^_^) (Standard IO) Time Limits: 1000 ms  Memory Limits: 65536 KB  Detailed L ...

  5. IBM x3850 X6 不开机 面板显示 sys voltage fault standard io book

    IBM x3850 X6 服务器不开机 面板显示 sys voltage fault standard io book 如果有软件绑定主板,要维修主板哦,可加 w:cfx02100313(请备注)## ...

  6. 混合图 (Standard IO)

    Description 有一张N个点,M1条有向边,M2条无向边组成的混合图.询问一个给所有无向边定向的方案.使得最终的图中没有环.保证一定有解. Input 第一行,三个数字N,M1,M2. 接下来 ...

  7. 帕秋莉·诺蕾姬 (Standard IO)

    Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大写字母组成的字符串,我们考虑从'A'到'Z'分别表示 ...

  8. 上学路线 (Standard IO)

    题意/Description: 你所在城市的街道好像一个棋盘,有a条南北方向的街道,和b条东西方向的街道.        南北方向的a条街道从西到东依次编号为1到a,而东西方向的b条街道从南到北依次编 ...

  9. JZOJ100047.基因变异 (Standard IO)

    \[Description\] 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化 ...

最新文章

  1. Imagination发布四款RISC-V CPU
  2. 你知道 Redis 可以实现延迟队列吗?
  3. 掌门教育微服务体系 Solar 第 3 弹:Nacos 企业级落地下篇
  4. linux rc.d的作用,init.d,rc.d详解 Linux运行时详解
  5. u-boot移植第三弹——移植2013.10u-boot到RealARM210 cortex-A8开发板(支持moviNAND_Fusing_Tool_v2.0)
  6. Stay Hungry Stay Foolish——网络学习平台分享
  7. MySQL字段类型解析
  8. Instance Object
  9. oracle 的逻辑结构设计,浅谈Oracle数据库逻辑结构
  10. 程序员PDF书籍下载
  11. python科赫雪花正方形_python—科赫曲线(科赫雪花小包裹)
  12. 小白入门大数据行业需要了解什么?
  13. nginx反向代理解封电信80端口
  14. 0xC0000005: 读取位置 0x00000000 时发生访问冲突
  15. linux 路由器 限速,Linux服务器限速WonderShaper使用方法 | 陌小九
  16. 收集UE4 优化Tips
  17. arnold 焦散效果渲染技巧
  18. FFmpeg支持QUIC
  19. 浅谈LOG日志的写法
  20. XMLHTTP小偷程序原理

热门文章

  1. [转]C++/CLI与C#常用语法对比
  2. Javascript typeof用法
  3. 超全的Go Http路由框架性能比较
  4. Android 卡片翻转动画效果
  5. docker: docker安装和镜像下载
  6. 基于阿里的Node全栈之路(二)阿里负载均衡的HTTPS优化方案
  7. Android自定义波浪加载圆形进度条——(自定义控件 一)
  8. 从系统的启动过程分析,为什么我们划分分区的时候 /sbin 、/bin、/lib、/dev不能做为独立的分区?...
  9. UITableView 滑动删除
  10. POJ-1436 线段树 区间更新