@xiaoziyao
2021-06-29T17:18:04.000000Z
字数 1049
阅读 919
解题报告
是我不会的期望题,让我把EI题解复读一遍!
在一棵个点,带点权、边权的树上,不断执行下列行动直到所有节点至少被标记过一次:
设当前起点为(最开始为树根),随机选取一个非节点(不一定要标记过),消耗的代价并标记为新的。
求期望代价对取模的值。
。
由于我们的行动一直是随机的,而起点固定是根节点,所以可以把树上的节点分为两部分:根节点与非根节点(每个非根节点都可以视为相同)。
不难想到期望dp,于是按套路倒推:设为还有个节点没有标记,当前节点为根节点/非根节点,接下来所有操作的期望代价。
自然地想到预处理三个量:表示从根节点到随机非根节点的期望代价,表示从随机非根节点到根节点的期望代价,表示从随机非根节点到随机非根节点的代价。
这三个量可以通过一遍dfs求出。
如果我们现在在根节点,还有个没有标记的点,那么有的概率到没有标记的点,的概率到有标记的非根节点,即
如果我们现在在非根节点,还有个没有标记的节点,那么有的概率到没有标记的点,有的概率到根节点,有的概率到有标记的非根节点,即
化简有
两个式子联立有
于是递推就好了。(减小常数可以只递推)
总结:遇到关于随机的题可以考虑将同类型的节点放在一起处理,减小状态。
想要代码可以私信我。