#L3860. 「POI 2020/2021 R1」Gang Biciaków
「POI 2020/2021 R1」Gang Biciaków
「POI 2020/2021 R1」Gang Biciaków
题目描述
Bajtazar 在一家货运公司工作,负责将建筑材料从 Bajtocji 的首都(编号为 的城市)运输到附近城镇的商店。Bajtocji 有 座城市(编号从 到 ),通过 条道路相互连接。每条道路上都有一个加油站。
Bajtazar 每天的工作流程:从首都出发,沿着最短路径到达城市 ,然后原路返回。
Bajtazar 的儿子 Bitek 非常喜欢加油站出售的玩具狗。玩具狗共有 种(编号从 到 ),每个加油站只提供一种玩具狗。
给定 Bajtazar 每天前往的目的地,需要计算他的儿子当天能够获得多少种不同的玩具狗。困难在于,每个加油站售卖的玩具狗种类可能会发生变化。
输入格式
第一行包含三个整数 ,分别表示城市数量、玩具狗种类数量和操作次数。
接下来 行,每行包含三个整数 ,表示第 条道路连接城市 和 (),该道路上的加油站售卖的玩具狗种类为 ()。
接下来 行,每行描述一个操作:
- 查询操作:
Z x
- 查询从首都到城市 ()的路径上能收集到多少种不同的玩具狗 - 修改操作:
B i c
- 将第 条道路上的加油站售卖的玩具狗种类改为 ()
输出格式
对于每个 Z
操作,输出一行一个整数,表示当天能获得的玩具狗种类数。
样例 1
输入
6 3 5
1 2 3
1 3 2
3 4 3
5 3 1
6 4 2
Z 5
Z 6
B 2 1
Z 5
Z 6
输出
2
2
1
3
解释:样例中存在一次修改操作,将第二条道路上的加油站售卖的玩具狗种类从 改为 。
样例 2
输入
8 4 20
1 2 3
8 2 4
6 4 2
1 6 1
3 4 3
4 5 2
7 4 1
Z 2
Z 3
Z 4
Z 5
Z 6
Z 7
Z 8
B 4 4
B 3 3
B 7 4
B 2 3
Z 2
Z 3
Z 4
Z 5
Z 6
Z 7
Z 8
B 3 4
Z 7
输出
1
3
2
2
1
2
2
1
2
2
3
1
2
1
1
样例 3
见附加文件下的 gan2.in
和 gan2.out
。
该样例满足:
- 整棵树形成了一个满二叉树结构
- 只有
Z
类型操作
样例 4
见附加文件下的 gan3.in
和 gan3.out
。
该样例满足:
- 对于所有 ,都存在一条连接城市 和城市 的道路
- 对于所有 ,都存在一条连接城市 和城市 的道路
样例 5
见附加文件下的 gan4.in
和 gan4.out
。
该样例满足:
- 道路 连接了城市 和城市
数据范围与提示
所有测试点均满足:
- 至少存在一个
Z
操作
子任务
子任务编号 | 约束 | 分值 |
---|---|---|
1 | 7 | |
2 | 9 | |
3 | 只有 Z 类型操作 |
|
4 | 15 | |
5 | 道路 连接城市 和城市 | 11 |
6 | 初始时所有加油站类型为 ,后续修改为除 外的类型 | 13 |
7 | 无附加约束 | 36 |