码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces1540B

时间:2021-06-28 19:30:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:https   nbsp   一个   problem   bsp   code   contest   其他   force   

codeforces1540B

题目:https://codeforces.com/contest/1540/problem/B

sol:

一整年没有写题回来练练手,发现啥都不会了。

可以枚举一个根 $rt$ ,再枚举点对  $(a,b)$ ,其中 $a \leq b$;

出现逆序对需要 $b$ 在 $a$ 之前出现在序列里。我们希望求出此概率 $p$。

令 $l=lca(a,b)$ 。

从 $rt$ 走到 $l$ 对于 $p$ 没有影响。

考虑从 $l$ 走到 $a$ 或 $b$ :有 $p0$ 的概率往 $a$ 走, $p0$ 的概率往 $b$ 走, $1-2 \times p0$ 的概率走其他。

因为 $a$ , $b$ 都是等概率的 $p0$ , $p0$ 其实不重要。

令 $f[x][y]$ 表示每次等可能的将 $x$ 或 $y$ 减 $1$ ,$y$ 先于 $x$ 减到 $0$ 的概率。

有 $f[x][y]=(f[x][y-1]+f[x-1][y])/2$ ;

枚举时每次取 $p=f[dist(l,a)][dist(l,b)]$ 即可

效率 $O(n^3 log n)$

 

codeforces1540B

标签:https   nbsp   一个   problem   bsp   code   contest   其他   force   

原文地址:https://www.cnblogs.com/liankewei/p/14939849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!