比赛场次 | 443 |
---|---|
比赛名称 | 膜你赛 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2019-04-28 08:30:00 |
结束时间 | 2019-04-28 22:00:00 |
开放分组 | 全部用户 |
注释介绍 | 2019.3.3(毒瘤!!!) |
题目名称 | 收集 |
---|---|
输入输出 | collect.in/out |
时间限制 | 3000 ms (3 s) |
内存限制 | 512 MiB |
测试点数 | 20 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|
wzp 又开始了收集兵器之旅
wzp 打开了一个游戏,这个游戏的地图中有 N 个村庄和 N-1 条道路,并且任何两个村庄之间有且仅有一条路径可达。游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路上行走,若走到某个村庄中有宝物,则视为找到该村庄内的宝物,直到找到所有宝物为止。
wzp 想知道收集完所有宝物的时间,因此他需要知道找到所有宝物需要行走的最短路程。但是这个游戏随机性较强,有时某个村庄中会突然出现宝物,有时某个村庄内的宝物会突然消失,因此 wzp 需要不断地更新数据,但是 wzp 太懒了,不愿意自己计算,因此他向你求助。为了简化问题,我们认为最开始时所有村庄内均没有宝物.
第一行,两个整数 N、M,其中 M 为宝物的变动次数。接下来的 N-1 行,每行三个整数 x、y、z,表示村庄 x、y 之间有一条长度为 z 的道路。接下来的 M 行,每行一个整数 t,表示一个宝物变动的操作。若该操作前村庄 t 内没有宝物,则操作后村庄内有宝物;若该操作前村庄 t 内有宝物,则操作后村庄内没有宝物。
M 行,每行一个整数,其中第 i 行的整数表示第 i 次操作之后 wzp 找到所有宝物需要行走的最短路程。
4 5 1 2 30 2 3 50 2 4 60 2 3 4 2 1
0 50 110 110 170
对于 10% 的数据,1≤N≤100,1≤M≤100
对于 20% 的数据,1≤N≤1000,1≤M≤1000
对于另外 15% 的数据,每个村庄最多成为两条道路的端点;
对于 100% 的数据,1≤N≤100000 1≤M≤100000 1≤z≤10^9