#0018. 随机游走

题目大意:

  考虑给定一个n个节点的数,每个时刻走到相邻节点是等概率的,m次询问,求u到v的期望次数

  n,m<=1e5

题目解法:

  根据期望的线性性质,u到v的期望结果是该条路径上每条边的一个端点跳到另一个端点的期望次数。

  考虑往父亲跳的情况。对于一个点u,令fu为从u到u的父亲节点需要的期望次数。

#0018. 随机游走

 

  同理,对于从父亲往下跳的情况,令gu为u的父亲节点到u的父亲节点需要的期望次数。

#0018. 随机游走

 

  处理出f g两个数组后,我们就可以将u->v分为两个部分:u->lca(u,v)往上跳,lca(u,v)->v往下跳。显然跳可以用倍增优化。这样的复杂度就是在O(n log n)的

  总结:设计状态是注意利用树上每个点的父亲节点唯一这一性质;树上路径不带修考虑倍增,带修考虑树剖;期望多考虑每个单独决策的期望,利用其线性性质相加求解。

 

上一篇:跳跳棋「LCA+二分答案」


下一篇:NOI2018情报中心