[洛谷P3401] 洛谷树
洛谷题目连接: 洛谷树 题目背景 萌哒的Created equal小仓鼠种了一棵洛谷树! (题目背景是辣鸡小仓鼠乱写的QAQ)。 题目描述 树是一个无环、联通的无向图,由n个点和n-1条边构成。树上两个点之间的路径被定义为他们之间的唯一一条简单路径——显然这是一条最短路径。 现在引入一个概念——子路径。假设树上两个点p1和pn之间的路径是P=<p1,p2,p3,…,pn>,那么它的子路径被定义为某一条路径P’,满足P’=<pi,pi+1,pi+2,…,pj>,其中1<=i<=j<=n。显然,原路径是一条子路径,任意一个点也可以作为子路径。 我们给每条边赋予一个边权。萌萌哒的Sugar问小仓鼠:对于任意两个点u和v,你能快速求出,u到v的路径上所有子路径经过的边的边权的xor值的和是多少。具体地说就是,你把u到v的路径上所有子路径全部提出来,然后分别把每个子路径上经过的边的边权xor在一起,最后求出得到的所有xor值的和。 什么?你不知道xor?那就去百度啊! 这时候,fjzzq2002大爷冒了粗来:窝还要你滋磁修改某条边边权的操作! 小仓鼠那么辣鸡,当然不会做这道题啦。于是他就来向你求救! 输入输出格式 输入格式: 第一行两个正整数n和q,表示点的个数,查询和询问的总次数。 接下来n-1行,每行两个正整数u、v、w,表示u和v两个点之间有一条边权为w的边。 接下来q行,格式为1 u