提供翻译
查看原帖
提供翻译
711887
lihl楼主2024/7/11 20:52

题目描述

Pakenomy 公司由 NN 个房间和 N−1N-1 条走廊组成.我们为房间编号1∼N1 \sim N,走廊编号 1∼N−11 \sim N-1。走廊 ii 将房间 AiA_i 和房间 BiB_i 双向连接。通过几条走廊,可以在任意两个房间之间移动。

Pakenomy 公司管理着很多怪物。一旦发生紧急情况,这些怪物就会侵入走廊。Iihachi 是负责镇压骚动的职员。但他想事先调查一下这些行为。

当 Iihachi 通过走廊 ee 时,体力会减少 CeC_e。当体力小于等于 00 ,就会“复苏”,体力会变成 KK。

题目有 QQ 次询问,第 ii 个问题为:

  • 当 Iihachi 初始以体力 KK 的状态,从房间 SiS_i 通过走廊到房间 TiT_i 的途中,最少“复苏”几次。

输入格式

第一行读入两个正整数 N,KN,K。

接下来 N−1N-1 行,每行读入三个正整数 Ai,Bi,CiA_i,B_i,C_i。

接下来一行,读入一个正整数 QQ。

接下来 QQ 行,每行读入两个正整数 Si,TiS_i,T_i。

输出格式

输出 QQ 行,第 ii 行输出第 ii 个问题的答案。

数据范围

本题采用捆绑测试。

  • Subtask 1(5 pts) 满足 N=2, Q=1N=2,\ Q=1。
  • Subtask 2(18 pts) 满足 N ≤ 4000, Q ≤ 4000N\ \leq\ 4000,\ Q\ \leq\ 4000。
  • Subtask 3(12 pts) 满足 N ≤ 4000N\ \leq\ 4000。
  • Subtask 4(33 pts) 对于任意 i(1≤i≤N−1)i(1\leq i\leq N-1),满足Ai=iA_i=i 及 Bi=i+1B_i=i+1。
  • Subtask 5(32 pts) 无附加条件。

对于 100%100\% 的数据,保证

  • 输入均为整数
  • 2 ≤ N ≤ 2 × 1052\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1 ≤ K ≤ 1091\ \leq\ K\ \leq\ 10^9
  • 1 ≤ Ai, Bi ≤ N (1 ≤ i ≤ N−1)1\ \leq\ A_i,\ B_i\ \leq\ N\ (1\ \leq\ i\ \leq\ N-1)
  • 通过几条走廊,可以在任意两个房间之间移动
  • 0 ≤ Ci ≤ 109 (1 ≤ i ≤ N−1)0\ \leq\ C_i\ \leq\ 10^9\ (1\ \leq\ i\ \leq\ N-1)
  • 1 ≤ Q ≤ 2 × 1051\ \leq\ Q\ \leq\ 2\ \times\ 10^5
  • 1 ≤ Si, Ti ≤ N (1 ≤ i ≤ Q)1\ \leq\ S_i,\ T_i\ \leq\ N\ (1\ \leq\ i\ \leq\ Q)
  • Si ≠ Ti (1 ≤ i ≤ Q)S_i\ \neq\ T_i\ (1\ \leq\ i\ \leq\ Q)

样例解释

对于样例一:

由房间 33 至房间 66:

  • 通过走廊 22,体力变为 5−10=−55-10=-5。“复苏”,体力变为 55。
  • 通过走廊 11,体力变为 5−3=25-3=2。
  • 通过走廊 55,体力变为 2−2=02-2=0。“复苏”,体力变为 55。

由房间 44 至房间 77:

  • 通过走廊 33,体力变为 5−3=25-3=2。
  • 通过走廊 11,体力变为 2−3=−12-3=-1。“复苏”,体力变为 55。
  • 通过走廊 44,体力变为 5−1=45-1=4。
  • 通过走廊 66,体力变为 4−1=34-1=3。

由房间 77 至房间 66:

  • 通过走廊 66,体力变为 5−1=45-1=4。
  • 通过走廊 44,体力变为 4−1=34-1=3。
  • 通过走廊 55,体力变为 3−2=13-2=1。

对于样例二,每次经过走廊都会“复苏”。

@lihl 提供翻译。

2024/7/11 20:52
加载中...