题目链接:Light OJ 1348 - Aladdin and the Return Journey
题目大意:给定一棵树,两种操作
0 i j:ij路径上的权值和
1 i v:将第i个节点的权值修改为v
解题思路:树链剖分的裸题。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 30005;
int N, Q, ne, first[maxn], jump[maxn * 2], link[maxn * 2], val[maxn];
int id, idx[maxn], dep[maxn], far[maxn], son[maxn], top[maxn], cnt[maxn];
void dfs (int u, int pre, int d) {
far[u] = ......
阅读全文