ak2k8's blog

By ak2k8, history, 6 hours ago, In English

Recently, I've just encountered this problem:$$$\newline$$$ Given a tree with $$$n$$$ vertices and rooted at $$$1$$$. Each vertex has an initial value, and initially, all these values are $$$0$$$.$$$\newline$$$ There are $$$q$$$ queries of two types:$$$\newline$$$ - "1 u": Find the sum of values of vertices in the subtree rooted at u.$$$\newline$$$ - "2 u": Find the value at vertex u.$$$\newline$$$ - "3 u v x": Increase the values of vertices on the simple path from u to v by x.$$$\newline$$$ Answer the queries of type 1 and 2.$$$\newline$$$ Constraints:

$$$ 1 \leq n,q \leq 200000 $$$
$$$ 1 \leq u,v \leq n $$$
$$$ 0 \leq |x| \leq 1000000 $$$

Time Limit:

$$$ 0.5s $$$

Are there any tricks to handle these types of queries with Euler Tour? I've thought about this problem for several days and haven't come up with any idea how to do it yet because of the update path queries. And with this time limit, I think HLD can't pass :<

  • Vote: I like it
  • +6
  • Vote: I do not like it