5814. 【NOIP提高A组模拟2018.8.14】 树(期望 + 倍增)

5814. 【NOIP提高A组模拟2018.8.14】 树

Problem
  • 给定一棵 n n 个点的树, m m 次询问,每次询问一个点 u u 走到一个点 v v 经过的期望边数.

  • N100000,Q100000 N ≤ 100000 , Q ≤ 100000

Solution
  • 根据期望的线性性,即

    E(X+Y)=E(X)+E(Y) E ( X + Y ) = E ( X ) + E ( Y )

  • 可得,两个点之间的期望距离,实际上等于从 ulca,lcav u → l c a , l c a → v 的期望步数.

  • f[i] f [ i ] 表示 ifa[i] i → f a [ i ] 的期望距离, g[i] g [ i ] 表示 fa[i]i f a [ i ] → i 的期望距离.

  • 因为这是一个无穷级数,所以我们可以列一个方程,然后就可以得到答案了.

  • 因为这道题比较基础,所以我们考虑一下拓展。

  • 比如说这道题:3143: [Hnoi2013]游走

  • 同样需要用到期望的线性性,最终答案即为每条边被经过的次数乘上其长度.

  • 也就是说如果算出了一条边被经过的次数,最后贪心一下即可.

  • 那么很容易发现,实际上可以把一条无向边拆为两条有向边,用高斯消元求解即可.

你可能感兴趣的:(高斯消元)