1 条题解
信息
- ID
- 790
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 42
- 已通过
- 4
- 上传者
指定 1 号点为根。
令 tot[i] 表示:以 i 为根的子树内所有点的 a[i] 之和
则:
s[1]=Σ(a[i]⋅dep[i])=Σtot[i] ——(1)
s[i]+tot[i]−(tot[1]−tot[i])=s[fai] ——(2)
a[i]=tot[i]−Σtot[son[i]] ——(3)
对(2)式变形得:
2tot[i]−tot[1]=s[fai]−s[i] ——(4)
对(4)式, i 从 2 取到 n 求和:
2⋅Σtot[i]−(n−1)tot[1]=Σ(s[fai]−s[i]) ——(5)
对(5)式:
Σtot[i] 就是 s[1],其他 s 的值均已知,则可以求出 tot[1]
再根据 (4)就可以求出所有的 tot[i]
再根据 (3)就可以求出所有的 a[i]