请升级 HydroOJ 到 4.16.0 以上版本以正常使用此插件功能。
#60. 装甲补给
装甲补给
题目描述
小 R 指挥的装甲军团的海上补给线被敌军截断了,只能依靠稀少的空投补给来维持部队战斗力。
当前的战线呈一棵有 个节点的树的形状,树上每一个节点都是重要的战略要点,第 个节点的初始补给匮乏度为 。若在一次空投补给后第 个节点得到了 的补给,则定义战况恶化度为 。
然而战局并非一成不变的,因此小 R 给你了 次询问。
每次询问可能是以下两种类型之一:
1.战局发生了变化,点 的补给匮乏度 变为了 。
2.一队补给机将携带 的补给由 沿树上最短路径飞到 ,可以向经过的节点空投总和不超过 的补给,你需要求出这次空投后的最小战况恶化度。(注意,这和后续询问是独立的,即不会对 数组造成修改)
输入格式
第一行两个正整数 , 表示节点个数与询问个数。
接下来 行,每行两个正整数 表示树的一条边。保证不会重复给出同一条边。
接下来一行 个非负整数 ,表示每个节点的初始补给匮乏度。
接下来 行每行可能为 1 u b
与 2 u v m
两种形式之一,含义如上所述。
输出格式
对于每一个第二类询问,输出一行一个数代表最小战况恶化度。
输入输出样例 #1
输入 #1
3 3
1 2
1 3
1 4 3
2 2 3 5
1 3 4
2 2 3 5
输出 #1
3
6
输入输出样例 #2
输入 #2
见下发文件
输出 #2
见下发文件
说明/提示
2500ms,512MB
对于所有数据,满足 $n,q \leq 10^5, 0 \leq a_i,v \leq 10^9, 0 \leq m \leq 10^{14}, 1 \leq u,v \leq n$。
。
。
保证对于任意 ,存在边 。
。
。
无特殊限制。
友情提示:请多看一眼数据范围。
Download
相关
在下列比赛中: