AT_arc048_d.[ARC048D] たこ焼き屋とQ人の高橋君
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
AtCoder 市有 1 到 N 编号的 N 个城镇,这些城镇通过 N−1 条双向、距离为 1 的道路相连。任意两个城镇之间都可以通过若干道路到达。
AtCoder 市里有 Q 个高桥君,第 i 个高桥君想从城镇 si 前往城镇 ti。
AtCoder 市的部分城镇设有章鱼烧店。所有高桥君初始以每 2 秒走 1 距离的速度行走,但如果在某个有章鱼烧店的城镇吃了章鱼烧,之后的行走速度会变为每 1 秒走 1 距离。每位高桥君只能吃一次章鱼烧,且可以选择经过有章鱼烧店的城镇时不吃章鱼烧,也可以不吃章鱼烧直接到达 ti。
给定 AtCoder 市的城镇连接关系,请你求出对于每个高桥君,从 si 到 ti 最优行动下所需的最短时间。吃章鱼烧所需时间可忽略不计。
输入格式
输入通过标准输入给出,格式如下:
N Q
A1 B1
A2 B2
⋮
AN−1 BN−1
S
s1 t1
s2 t2
⋮
sQ tQ
- 第 1 行包含两个整数 N (1≤N≤100000) 和 Q (1≤Q≤100000),以空格分隔。
- 接下来 N−1 行,每行包含两个整数 Ai,Bi (1≤Ai≤N,1≤Bi≤N,Ai=Bi),表示城镇 Ai 和城镇 Bi 之间有一条道路。
- 接下来一行是长度为 N 的仅由 0 和 1 组成的字符串 S。第 i 个字符为 0 表示城镇 i 没有章鱼烧店,为 1 表示有章鱼烧店。
- 接下来 Q 行,每行包含两个整数 si,ti (1≤si≤N,1≤ti≤N),表示第 i 个高桥君的起点和终点。
输出格式
输出 Q 行。
第 i 行输出第 i 个高桥君最优行动下从 si 到 ti 所需的最短时间。
输出末尾请不要忘记换行。
输入输出样例
输入#1
7 4 1 2 2 3 2 4 4 5 5 6 6 7 0010000 1 5 1 7 6 1 3 3
输出#1
6 9 8 0
输入#2
5 2 3 2 2 4 1 4 2 5 00000 1 5 2 3
输出#2
6 2
输入#3
12 10 1 2 2 3 2 4 10 12 1 5 3 11 5 6 9 10 5 7 3 9 8 7 000100100010 1 2 1 4 8 3 6 12 12 8 8 12 6 8 8 6 1 12 5 12
输出#3
2 4 6 11 14 9 5 4 9 9
说明/提示
样例解释 1
对于第一个询问,依次经过城镇 1,2,4,5 是最优方案。对于第二个询问,依次经过城镇 1,2,3,2,4,5,6,7,并在途中经过城镇 3 的章鱼烧店时吃章鱼烧,是最优方案。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?