AT_abc307_f.[ABC307F] Virus 2

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个房间,编号为 1,2,…,N1, 2, \ldots, N,每个房间里住着一人。此外,有 MM 条通道连接着一些不同的两个房间。第 ii 条通道连接房间 UiU_i 和房间 ViV_i,长度为 WiW_i。

某一天(记为第 00 天夜晚),住在房间 A1,A2,…,AKA_1, A_2, \ldots, A_K 的 KK 个人被新感染了病毒。接下来的 DD 天里,第 ii 天(1≤i≤D1 \leq i \leq D)病毒的传播方式如下:

在第 (i−1)(i-1) 天夜晚已经感染的人,在第 ii 天夜晚依然保持感染状态。
对于其他人,如果他们住的房间与第 (i−1)(i-1) 天夜晚已感染者所住的任意一个房间之间的距离不超过 XiX_i,则在第 ii 天夜晚新感染。这里,房间 PP 和房间 QQ 之间的距离定义为仅通过通道从 PP 到 QQ 时所经过通道长度的最小总和。如果无法仅通过通道从 PP 到 QQ 移动,则距离视为 1010010^{100}。

请对于每个 ii(1≤i≤N1 \leq i \leq N),输出住在房间 ii 的人是在第几天夜晚新感染的。如果到第 DD 天夜晚仍未感染,则输出 −1-1。

输入格式

输入按以下格式从标准输入给出。

NN MM
U1U_1 V1V_1 W1W_1
U2U_2 V2V_2 W2W_2
⋮\vdots
UMU_M VMV_M WMW_M
KK
A1A_1 A2A_2 …\ldots AKA_K
DD
X1X_1 X2X_2 …\ldots XDX_D

输出格式

输出 NN 行。
第 ii 行(1≤i≤N1 \leq i \leq N)输出住在房间 ii 的人是在第几天夜晚新感染的。

输入输出样例

  • 输入#1

    4 4
    1 2 2
    2 3 1
    2 4 3
    3 4 2
    1
    1
    2
    3 3

    输出#1

    0
    1
    1
    2
  • 输入#2

    7 7
    1 2 2
    2 3 3
    3 4 1
    4 5 1
    5 6 3
    3 7 1
    4 7 1
    2
    1 6
    2
    2 3

    输出#2

    0
    1
    2
    -1
    2
    0
    -1
  • 输入#3

    5 1
    1 2 5
    2
    1 3
    3
    3 7 5

    输出#3

    0
    2
    0
    -1
    -1

说明/提示

约束条件

  • 1≤N≤3×1051 \leq N \leq 3 \times 10^5
  • 0≤M≤3×1050 \leq M \leq 3 \times 10^5
  • 1≤Ui<Vi≤N1 \leq U_i < V_i \leq N
  • 所有 (Ui,Vi)(U_i, V_i) 均不同
  • 1≤Wi≤1091 \leq W_i \leq 10^9
  • 1≤K≤N1 \leq K \leq N
  • 1≤A1<A2<⋯<AK≤N1 \leq A_1 < A_2 < \cdots < A_K \leq N
  • 1≤D≤3×1051 \leq D \leq 3 \times 10^5
  • 1≤Xi≤1091 \leq X_i \leq 10^9
  • 所有输入均为整数

样例解释 1

病毒的传播过程如下:

  • 第 00 天夜晚,住在房间 11 的人感染。
  • 房间 11 到房间 2,3,42,3,4 的距离分别为 2,3,52,3,5。由于 X1=3X_1=3,所以第 11 天夜晚,住在房间 2,32,3 的人新感染。
  • 房间 33 到房间 44 的距离为 22。由于 X2=3X_2=3,所以第 22 天夜晚,住在房间 44 的人也感染。
    因此,住在房间 1,2,3,41,2,3,4 的人分别在第 0,1,1,20,1,1,2 天新感染,按顺序输出 0,1,1,20,1,1,2。

样例解释 3

请注意,并非所有两个房间之间都一定可以仅通过通道互相到达。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页