zoukankan      html  css  js  c++  java
  • HDU5405

    给出一颗带点权的树。

    支持两种操作:

    1)单点修改点权。

    2)输入(u,v),输出(sum_{i=1}^nsum_{j=1}^nf(i,j))

    如果(i,j)这条路径和(u,v)有交点,(f(i,j)=w_iw_j)

    (i,j)的乘积

    做法:

    答案相当于权值之和的平方,减去把((u,v))这条链扣掉,各个子树的权值之和的平方。

    这里是一个树链剖分的技巧。

    就是对每个节点,分别维护轻儿子的和平方、重儿子的和平方。

    对树上一条链,往上跳重儿子链的时候,就直接线段树区间求和。因为这条链上的节点都是父亲节点的重儿子,线段树维护的本来就已经是答案了。

    剩下周赛回来补。

  • 相关阅读:
    神经网络回顾-感知机
    遗传算法杂记
    差分进化算法DE和粒子群算法PSO
    遗传算法GA
    Caffe学习 五 conv_layer与im2col
    Selenium
    Selenium
    Selenium
    Selenium
    Selenium
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/15448897.html
Copyright © 2011-2022 走看看