#lg3591. [POI 2015 R3] 访问 Visits
[POI 2015 R3] 访问 Visits
P3591 [POI 2015 R3] 访问 Visits
题目描述
给定一棵 个点的树,树上每条边的长度都为 ,第 个点的权值为 。
Byteasar 想要走遍这整棵树,他会按照某个 到 的全排列 走 次,第 次他会从 点走到 点,并且这一次的步伐大小为 。
对于一次行走,假设起点为 ,终点为 ,步伐为 ,那么 Byteasar 会从 开始,每步往前走 条边,数据保证了每次行走的距离是 的倍数。
请帮助 Byteasar 统计出每一次行走时经过的所有点的权值和。
输入格式
第一行包含一个正整数 ()。表示节点的个数。
第二行包含 个正整数,其中第 个数为 (),分别表示每个点的权值。
接下来 行,每行包含两个正整数 (),表示 与 之间有一条边。
接下来一行包含 个互不相同的正整数,其中第 个数为 (),表示行走路线。
接下来一行包含 个正整数,其中第 个数为 (),表示每次行走的步伐大小。
输出格式
包含 行,每行一个正整数,依次输出每次行走时经过的所有点的权值和。
输入输出样例 #1
输入 #1
5
1 2 3 4 5
1 2
2 3
3 4
3 5
4 1 5 2 3
1 3 1 1
输出 #1
10
6
10
5
说明/提示
原题名称:Odwiedziny。
#4971. 「POI2015 R3」访问 Visits
标签: 传统 | 时间限制: 2500 ms | 内存限制: 128 MiB |
题目描述
题目译自 XXII Olimpiada Informatyczna — III etap Odwiedziny
Bajtazar 是个不平凡的人——过去 年,他当过邮差、银行家、滑冰选手,甚至国王!难怪他朋友遍天下。可惜,频繁跳槽让他与许多老友渐行渐远。现在,他决定在字节城展开一场盛大的巡游,重拾旧日友情!
字节城有 座城市,通过 条双向道路相连。Bajtazar 已定好访问每座城市的顺序,计划在 BMW 租车,沿最短路径在相邻访问城市间穿梭。租车免费,但需加油——容量为 的车在起点城市和每行驶 条道路后需加油。BMW 了解 Bajtazar 的行程,特意为每段路程挑选了油箱容量,确保他在终点城市也需加油,以最快完成旅程。
已知 Bajtazar 的访问顺序、各城市加油价格和租车油箱容量,请你计算他每段路程的加油总成本。
输入格式
第一行包含一个整数 ,表示字节城城市数量。城市编号为 到 。
第二行包含 个整数 , 表示 号城市加油站的油箱填充成本。
接下来的 行描述道路,每行包含两个整数 ,表示 号和 号城市间有双向道路。
下一行包含 个整数 ,表示 Bajtazar 访问城市的顺序( 到 各出现一次)。
最后一行包含 个整数 , 表示从 号城市到 号城市使用的车的油箱容量,需每 条道路加油一次。保证 整除两城市间的道路数。
输出格式
输出 行,每行一个整数,第 行表示从 号城市到 号城市的加油总成本。
样例
输入
5
1 2 3 4 5
1 2
2 3
3 4
3 5
4 1 5 2 3
1 3 1 1
输出
10
6
10
5
数据范围与提示
对于 的数据,。
对于 的数据,。