子树的查询的一个算法的问题,如何利用C语言的方式去计算

Problem Description
bobo has a tree, whose vertices are conveniently labeled by 1,2,…,n. At the very begining, the i-th vertex is assigned with weight wi.

There are q operations. Each operations are of the following 2 types:

Change the weight of vertex v into x (denoted as "! v x"),
Ask the total weight of vertices whose distance are no more than d away from vertex v (denoted as "? v d").

Note that the distance between vertex u and v is the number of edges on the shortest path between them.

Input
The input consists of several tests. For each tests:

The first line contains n,q (1≤n,q≤105). The second line contains n integers w1,w2,…,wn (0≤wi≤104). Each of the following (n - 1) lines contain 2 integers ai,bi denoting an edge between vertices ai and bi (1≤ai,bi≤n). Each of the following q lines contain the operations (1≤v≤n,0≤x≤104,0≤d≤n).

Output
For each tests:

For each queries, a single number denotes the total weight.

Sample Input
4 3
1 1 1 1
1 2
2 3
3 4
? 2 1
! 1 0
? 2 1
3 3
1 2 3
1 2
1 3
? 1 0
? 1 1
? 1 2

Sample Output
3
2
1
6
6

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

6
C语言八皇后问题的算法问题
1
一个排列的算法的问题是用的C语言实现
2
一个c语言的算法循环问题
1
一个修改版本的求和算法的问题,如何用C语言的算法解决?
1
Galou is back! 类欧几里得算法 线段树方面的一个问题的思路求教,怎么利用C语言的编写实现
1
关于一个纸牌游戏的计算方式的算法的问题,如何采用C语言实现的
1
数据结构上的一个线性表的冲突的解决,是不是用哈希算法怎么采用C语言的实现方式
0
一个和纸牌策略有关的算法算法问题,怎么利用C语言解决
0
请教一个有关随机数生成算法方面的算法问题,利用C语言算法的实现的过程方式
0
这个和时间日期计算的算法问题是如何利用C语言编程技术的方式来求解的呢?
1
一个数列数组的求和再求比率的问题,如何利用C语言的方法编程算法解决
0
一个和概率生成有关的算法问题,请教如何利用C语言的综合技术编写?
0
全局搜索和局部搜索最优的一个相关的算法问题,如何利用C语言的编程的方式
0
一个有关最长数字子序列方面的算法的问题?用C语言如何解决的
0
一个立体的分割蛋糕的算法问题,请问如何利用C语言的形式解决
0
最大二进制公共子序列的一个算法的问题如何利用C语言的办法去实现怎么做?
0
集合的匹配的一个算法问题的解释?如何利用C语言实现的
0
子树的便利算法,采用图的形式,如何利用C语言算法来实现呢?
0
多叉树的快速搜索算法的优化,这个问题如何利用C语言的办法解决