题目: 给一棵以为根的有根树,点权 。个操作,操作有两种类型::表示将节点的权值加上;:表示求节点的子树上所有节点的和(包括结点本身); 做法: 单点修改,求子树上的点权和。我们通过序可以将一整棵子树上映射到序列中连续的一段上。所以问题就变成了,单点修改,区间和查询。线段树或树状数组就行了。 代码: #include <bits/stdc++.h> #define IOS ios::sync_with_stdio(false), cin.tie(0) #define debug(a) cout << #a ": " << a << endl ...