|
||||||||||
TreeTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1658 Accepted Submission(s): 569 Problem Description wls 有三棵树,树上每个节点都有一个值 $a_i$,现在有 2 种操作: 1. 将一条链上的所有节点的值开根号向下取整; 2. 求一条链上值的和; 链的定义是两点之间的最短路。 Input 第一行两个数 $n$, $q$ 分别代表树上点的数量和操作数量。 第二行 $n$ 个整数,第 $i$ 个数代表第 $i$ 个点的值 $a_i$。 接下来 $n$ $-$ $1$ 行, 每行两个整数 $u$, $v$ 代表 $u$,$v$ 之间有一条边。数据保证点两两联通。 接下来 $q$ 行,每行有个整数 $op$, $u$, $v$,$op$ = 0 表示将 $u$, $v$ 这条链上所有的点的值开根号向下取整,$op$ = 1表示询问 $u$,$v$ 这条链上的值的和。 1 ≤ $n$, $q$ ≤ 100, 000 0 ≤ $a_i$ ≤ 1, 000, 000, 000 Output 对于每一组 $op$ = 2 的询问,输出一行一个值表示答案。 Sample Input
Sample Output
Source | ||||||||||
|