题面 【题目描述】 有一棵点数为 N N N 的树,以点 1 1 1为根,且树点有边权。然后有 M M M个操作,分为三种: 操作 1 1 1 :把某个节点 x x x 的点权增加 a a a 。 操作 2 2 2 :把某个节点 x x x 为根的子树中所有点的点权都增加 a a a 。 操作 3 3 3 :询问某个节点 x x x 到根的路径中所有点的点权和。 【输入】 第一
题意 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 思路 一道树链剖分裸题,这次是默写板子。 代码 #include <cstdio>struct segmentTree
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 Input 第一行包含两个整数 N, M 。表示点数和操作数。接下来一行 N 个整数,表