F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Gardener Bo

Time Limit: 16000/8000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 240    Accepted Submission(s): 106


Problem Description
Gardener Bo loves Trees.Now he asks you to help him take care of his lovely tree.

A rooted tree with root=1 is given.Every node on the tree has a value $w_i$.Let $fa[u]$ be the father of $u$.

Let $LCA(u,v)$ be the least common ancestor of $u$ and $v$.The expression $[condition]$ is 1 when $condition$ is True,is 0 when $condition$ is False.

Define

\[f(u)=\sum_{i=1}^n\sum_{j=i}^n(w_i+w_j)*[LCA(i,j)=u]\]

Now there are $Q$ events happening.Each event has one of two types:

$1~u~x$:pick out all $v$ that satisfies $v=u$ or $fa[v]=u$ or $fa[fa[v]]=u$,and add $x$ to $w_v$.

$2~u$:query $f(u)\bmod 2^{32}$.
 

Input
There are several test cases.

The first line contains two integers $n,Q$.

The second line contains $n-1$ integers,i-th indicates $fa[i+1]$.

The third line contains $n$ integers,the i-th indicates the initial $w_i$.

Following $Q$ lines each describes an event.

$1\leq n,Q\leq 3\times 10^5,|w_i|,|x|<10^9$
 

Output
For every event with type 2,you should print a number indicating the answer.
 

Sample Input
5 3 1 1 3 3 -5 2 0 7 -6 1 5 2 2 3 2 2 10 5 1 2 3 3 1 2 6 2 2 -2 5 8 -6 0 -4 6 6 8 9 2 10 1 3 4 1 6 -2 2 9 2 4
 

Sample Output
6 4 18 16 4294967292
 

Author
ÉÜÐËÒ»ÖÐ
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-05-08 17:47:18, Gzip enabled