SP6779 GSS7 - Can you answer these queries VII
题目描述
给定一棵树,有 $n$ 个结点,每一个节点都有一个权值 $x_i$。
你需要执行 $q$ 次操作:
1. `1 a b`:查询从 $a$ 到 $b$ 路径上的最大子段和,可以为空(即输出 $0$);
2. `2 a b c`:将从 $a$ 到 $b$ 路径上的所有点权变为 $c$。
输入格式
第一行一个整数 $n$。
接下来一行有 $n$ 个整数表示 $x_i$。
接下来 $n - 1$ 行,每行两个整数 $u, v$ 表示 $u$ 和 $v$ 之间有一条边相连。
接下来一行一个整数 $q$。
之后有 $q$ 行,每行一个操作。
输出格式
对于每一个询问,输出答案。
说明/提示
数据范围:$1 \le n,q \le 10^5$,$-10^4 \le x_i, c \le 10^4$。