对于树上随机游走的一类研究。
我们可以考虑使用高斯消元求期望,虽然 但是很有一些启发性。
就是节点的期望与父亲的期望上表述有一次性。也就是说 这个式子。
CF1823F Random Walk
树上随机游走,求 的路上, 的期望经过次数。
考虑如下式子:
利用这些可以 高斯消元。
然后考虑如上结论 : ,注意一些 的情况暂时没有考虑。
除过去即可求得 和 ,为左右两项。根节点和叶子好求,于是就求出来了。除过去有些是 0!/fn
void dfs1 (int x, int fa) {
if (x == t) {
f[x] = 1, a[x] = invd[fa], b[x] = 0;
return ;
}
int suma = 0, sumb = (x == s);
for (int y : e[x]) {
if (y == fa) continue ;
dfs1(y, x);
if (y == t) continue ;
suma = add(suma, 1ll * a[y] * invd[y] % mod),
sumb = add(sumb, 1ll * b[y] * invd[y] % mod);
}
suma = sub(1, suma);
a[x] = 1ll * power(suma, mod - 2) * invd[fa] % mod;
b[x] = 1ll * power(suma, mod - 2) * sumb % mod;
}
void dfs2 (int x, int fa) {
if (x == t) { return ; }
f[x] = add(1ll * a[x] * f[fa] % mod, b[x]);
for (int y : e[x]) if (y != fa) dfs2(y, x);
}
登高自卑,行远自迩。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话