专栏文章

题解:AT_arc150_d [ARC150D] Removing Gacha

AT_arc150_d题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minsyz3l
此快照首次捕获于
2025/12/02 07:51
3 个月前
此快照最后确认于
2025/12/02 07:51
3 个月前
查看原文

[ARC150D] Removing Gacha

首先有个很经典的做法是设 E(u)E(u)uu 期望被选中多少次,答案为 i=1nEi\sum_{i=1}^{n} E_i
树上问题还是太难了,不难发现操作后对 uu 被选中的次数产生影响的的只会是其祖先结点,于是可以把树上问题变成链上问题。
接着观察性质。发现做了 E(u)E(u) 这个转化次数之后我们在计算 E(u)E(u) 的时候不需要考虑哪些好顶点会不会选中,因为在考虑 E(u)E(u) 时只要选中的点不是 uu 都不会产生代价。
枚举 uu 在其和其祖先节点中选中的时候在那几次被选中,假设这个链的长度为 xx。那么如果已经选中过了 ii 个点,选中下一个没有选择过的点的期望操作次数为 xxi\frac{x}{x-i},而这一次操作选择这个点的概率为 1xi\frac{1}{x-i},所以 E(u)=i=0x11xi=i=1x1iE(u)=\sum_{i=0}^{x-1}\frac{1}{x-i}=\sum_{i=1}^{x}\frac{1}{i},预处理一下即可。
时间复杂度 O(n)\operatorname{O}(n)

评论

0 条评论,欢迎与作者交流。

正在加载评论...