loj#P3145. 「APIO2019」桥梁
「APIO2019」桥梁
题目描述
圣彼得堡市内所有水路长度总和约 282 千米,市内水域面积占城市面积的 7%。——来自维基百科
圣彼得堡位于由 座桥梁连接而成的 个岛屿上。岛屿用 到 的整数编号,桥梁用 到 的整数编号。每座桥连接两个不同的岛屿。有些桥梁是在彼得大帝时代建造的,其中一些是近期建造的。这导致了不同的桥梁可能有不同的重量限制。更具体地,只有重量不超过 的汽车才能通过第 座桥梁。有时圣彼得堡的一些桥梁会进行翻新,但这并不一定会使桥梁承重变得更好,也就是说,进行翻新的桥梁的 可能会增加或减少。你准备开发一个产品,用于帮助公民和城市客人。目前,你开发的模块要能执行两种类型的操作:
- 将桥梁 的重量限制改为 。
- 统计一辆重为 的汽车从岛屿 出发能够到达多少个不同的岛屿。
请你回答所有第二种操作的答案。
输入格式
第一行包含两个整数 和 ——表示圣彼得堡的岛屿数量与桥梁数量。
接下来 行,每行三个整数 。第 行的整数描述了一座连接岛屿 和 ,初始时重量限制为 的桥梁。
接下来一行一个整数 ——表示操作的数量。
接下来 行按顺序每行描述一个操作。
每行第一个整数 表示操作类型:
- 若 ,则该操作是第一种类型,该行接下来给定两个整数 和 ,表示桥梁 的重量限制将变为 。
- 若 ,则该操作是第二种类型,该行接下来给定两个整数 和 ,表示一辆重为 的汽车将要从第 个岛屿出发。
输出格式
对于每个第二种类型的询问,输出一行一个整数表示答案。
3 4
1 2 5
2 3 2
3 1 4
2 3 8
5
2 1 5
1 4 1
2 2 5
1 1 1
2 3 2
3
2
3
7 8
1 2 5
1 6 5
2 3 5
2 7 5
3 4 5
4 5 5
5 6 5
6 7 5
12
2 1 6
1 1 1
2 1 2
1 2 3
2 2 2
1 5 2
1 3 1
2 2 4
2 4 2
1 8 1
2 1 1
2 1 3
1
7
7
5
7
7
4
数据范围与提示
对于全部数据,$1\le n\le 5\times 10^4,0\le m\le 10^5,1\le q\le 10^5$。保证 $1\le u_i,v_i,s_j\le n,u_i\not =v_i,1\le d_i,r_j,w_j\le 10^9,1\le b_j\le m,t_j\in\{1,2\}$。
详细子任务附加限制与分值如下表。
子任务 | 附加限制 | 分值 |
---|---|---|
岛屿和桥梁将形成一个树结构, | ||
岛屿和桥梁将形成一个完全二叉树结构,$n = 2^k - 1, m = n - 1, u_i =\lfloor \frac{i+1} {2} \rfloor, v_i = i + 1\ (1 \le k \le 15,1 \le i \le m)$ | ||
所有 均为 | ||
岛屿和桥梁将形成一个树结构, | ||
无特殊限制 |