#P12563. [UTS 2024] Remove Node
[UTS 2024] Remove Node
Description
给定一棵包含 个顶点的有根树,每个顶点 被赋予一个权值 。树的根节点为 号节点。
你可以执行以下操作:将两个相邻节点 和 合并为一个新节点 , 的权值为这两个节点权值的最小值。该操作会将原本与 或 相连的边改为与 相连。操作的成本为 ,多次操作的总成本为各次操作成本之和。
你需要处理两种查询:
- :将节点 的权值更新为 ;
- :询问将以 为根的子树通过操作合并为单个节点的最小总成本。
Input Format
第一行包含一个整数 ,表示节点数量。
第二行包含 个整数 ,表示各节点的初始权值。
第三行包含 个整数 (),其中 表示节点 的父节点。
第四行包含一个整数 ,表示查询总数。
接下来 行,每行一个查询:
- (, );
- 或 ()。
Output Format
对于每个类型为 的查询,按输入顺序输出一行,表示对应查询的结果。
7
4 7 9 7 4 1 2
1 1 3 2 3 2
1
2 1
11
7
6 6 5 1 6 6 4
1 1 2 3 3 3
3
2 1
1 1 1
2 1
7
11
Hint
- ( 分):,;
- ( 分):;
- ( 分):树为链状且仅包含第二类查询;
- ( 分):仅包含第二类查询;
- ( 分):(所有非根节点的父节点均为根节点);
- ( 分):无额外限制。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号