https://www.lydsy.com/JudgeOnline/problem.php?id=4129
Description
Haruna每天都会给提督做早餐! 这天她发现早饭的食材被调皮的 Shimakaze放到了一棵
树上,每个结点都有一样食材,Shimakaze要考验一下她。
每个食材都有一个美味度,Shimakaze会进行两种操作:
1、修改某个结点的食材的美味度。
2、对于某条链,询问这条链的美味度集合中,最小的未出现的自然数是多少。即mex值。
请你帮帮Haruna吧。
Input
第一行包括两个整数n,m,代表树上的结点数(标号为1~n)和操作数。
第二行包括n个整数a1...an,代表每个结点的食材初始的美味度。
接下来n-1行,每行包括两个整数u,v,代表树上的一条边。
接下来m 行,每行包括三个整数
0 u x 代表将结点u的食材的美味度修改为 x。
1 u v 代表询问以u,v 为端点的链的mex值。
思路:
这个题是 莫队 + 分块.
分块里维护的是 莫队区间的答案.
树上莫队,首先要分块,用 dfs + stack 把节点分块.
然后我们莫队维护的区间.就是 l 到 r 的路径,但是这个路径不包括 lca(l,r).
最后计算的时候,我们要 加上 lca(l,r),
我们来考虑一下带修改莫队的流程.
我们有 ans 来记录莫队维护区间的答案.
知道 莫队维护 的区间是什么.