摘要:
一棵树上有 n个节点,编号分别为 1 到 n,每个节点都有一个权值 W。 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点 u的权值改为 t。 II. QMAX u v: 询问从点 u到点 v 的路径上的节点的最大权值。 III. QSUM u v: 询问从点 阅读全文
posted @ 2023-03-10 22:20
towboat
阅读(16)
评论(0)
推荐(0)
摘要:
静态查询树上路径的最小边权 边权转点权: 将根节点设置 val[ rt ]=inf , 每个边权转移到向下的点的点权 然后树剖查询要改一下 树剖后用线段树查询点权最小值 #include <bits/stdc++.h> using namespace std ; const int N=5e5+4, 阅读全文
posted @ 2023-03-10 20:57
towboat
阅读(21)
评论(0)
推荐(0)
摘要:
1 x y z,表示将树从 xx 到 yy 结点最短路径上所有节点的值都加上 zz。 2 x y,表示求树从 xx 到 yy 结点最短路径上所有节点的值之和。 3 x z,表示将以 xx 为根节点的子树内所有节点值都加上 zz。 4 x 表示求以 xx 为根节点的子树内所有节点值之和 #includ 阅读全文
posted @ 2023-03-10 20:48
towboat
阅读(14)
评论(0)
推荐(0)
摘要:
#include <bits/stdc++.h> using namespace std ; const int N=5003,M=2e5+2; int f[N],n,m; struct E{ int x,y,z; }e[M]; int find(int x){ return x==f[x]?x:f 阅读全文
posted @ 2023-03-10 13:21
towboat
阅读(14)
评论(0)
推荐(0)
摘要:
https://www.luogu.com.cn/problem/P1038 #include <iostream> #include<queue> #include <vector> #include <cstring> using namespace std; const int N=104, 阅读全文
posted @ 2023-03-10 13:10
towboat
阅读(16)
评论(0)
推荐(0)