经典小技巧。以 P5643 为例,首先显然 min-max 容斥,之后枚举子集,算 \(x\) 到子集的期望移动步数。考虑高斯消元,\(x \not \in S\) 时转移方程为 \(f_x = \dfrac{1}{d} \sum\limits_{(x, u) \in \mathbf{E}} f_u + 1\),设 \(f_x = A_x f_{fa_x} + B_x\),那么有:

\[f_x = \dfrac{1}{d} (fa_x + \sum_u (A_u f_x + B_u)) + 1
\]
\[(d - \sum_u A_u) f_x = fa_x + \sum_u B_u + d
\]
\[A_x = \dfrac{1}{d - \sum\limits_u A_u}, B_x = \dfrac{d + \sum\limits_u B_u}{d - \sum\limits_u A_u}
\]

特别的,对于 \(x \in S\),有 \(A_x = B_x = 0\),对于根节点 \(rt\),有 \(f_{rt} = B_{rt}\)。本题中只需求根节点的 \(f\) 值,故一次 dfs 从下到上解出 \(A, B\) 即可。若需解出全部节点的 \(f\) 值,再从上到下递推即可。最后为了计算答案,乘上容斥系数再高维前缀和即可。复杂度 \(\mathcal{O}(2 ^ n n + nq)\)。

树上高斯消元(P5643 sol)的更多相关文章

  1. 洛谷 P5643 - [PKUWC2018]随机游走(Min-Max 容斥+FWT+树上高斯消元,hot tea)

    题面传送门 一道挺综合的 hot tea,放到 PKUWC 的 D2T2 还挺喜闻乐见的( 首先我们考虑怎样对一个固定的集合 \(S\) 计算答案,注意到我们要求的是一个形如 \(E(\max(S)) ...

  2. LOJ2542 PKUWC2018 随机游走 min-max容斥、树上高斯消元、高维前缀和、期望

    传送门 那么除了D1T3,PKUWC2018就更完了(斗地主这种全场0分的题怎么会做啊) 发现我们要求的是所有点中到达时间的最大值的期望,\(n\)又很小,考虑min-max容斥 那么我们要求从\(x ...

  3. 【JLOI 2012】时间流逝(期望,树上高斯消元)

    题目链接 这是一道传统的期望题,可是有一些套路值得我去掌握. 我们用$s$来表示一种状态,就是当前拥有的能量圈,是一个正整数拆分的形式. 用$f_{s}$表示如果遇到果冻鱼后丢掉了最小的能量圈后的状态 ...

  4. bzoj 2784 [JLOI2012]时间流逝——树上高斯消元

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2784 一个状态可以加很多个能量圈,但减少能量圈的情况只有一种.所以可以用树来刻画. 然后就变 ...

  5. LOJ 2542 「PKUWC2018」随机游走 ——树上高斯消元(期望DP)+最值反演+fmt

    题目:https://loj.ac/problem/2542 可以最值反演.注意 min 不是独立地算从根走到每个点的最小值,在点集里取 min ,而是整体来看,“从根开始走到点集中的任意一个点就停下 ...

  6. NOI.AC省选模拟赛第一场 T1 (树上高斯消元)

    link 很容易对于每个点列出式子 \(f_{x,y}=(f_{x,y-1}+f_{x,y}+f_{x,y+1}+f_{x+1,y})/4\)(边角转移类似,略) 这个转移是相互依赖的就gg了 不过你 ...

  7. loj2542 「PKUWC2018」随机游走 MinMax 容斥+树上高斯消元+状压 DP

    题目传送门 https://loj.ac/problem/2542 题解 肯定一眼 MinMax 容斥吧. 然后问题就转化为,给定一个集合 \(S\),问期望情况下多少步可以走到 \(S\) 中的点. ...

  8. 【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元

    题目描述 有一棵 \(n\) 个点的树.你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一 ...

  9. [JLOI2012]时间流逝 树上高斯消元 概率期望

    题面 题意:(感觉题面写的题意是错的?)有\(n\)种能量不同的圈,设当前拥有的圈的集合为\(S\),则: 1,每天有\(p\)概率失去一个能量最小的圈.特别的,如果\(S = \varnothing ...

  10. bzoj 2784 时间流逝 —— 树上高斯消元

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2784 其实转移是一棵树,从根到一个点表示一种能量圈状态,当能量值大于 T 是停止,也就是成为 ...

随机推荐

  1. vue3 学习-初识体验-组件 component

    组件可以简单理解为 "页面构成的一部分". 组件化是 Vue 最为重要的设计理念之一吧. 早期的前端页面基本上就拆分为一个个的html, css, js 文件, 然后不断" ...

  2. WindowsPE文件格式入门09.RadAsm的bug和重定位表

    https://www.bpsend.net/thread-383-1-1.html RadAsm的bug 创建程序 1.创建程序1:C++工程: ●项目选项:控制台"hello,World ...

  3. JVM垃圾回收机制常见算法

       在探讨Java垃圾回收机制之前,我们首先应该记住一个单词:Stop-the-World.Stop-the-world意味着 JVM由于要执行GC而停止了应用程序的执行,并且这种情形会在任何一种G ...

  4. Spring 注解之@Primary注解

      当一个接口有多个不同实现类时,使用注解@Autowired时会报 org.springframework.beans.factory.NoUniqueBeanDefinitionException ...

  5. 自动 GitHub Readme 20 种语言翻译平台 - OpenAiTx 开源免费

    [野人献曝]晚辈开发自动 GitHub Readme 20 种语言翻译平台 - OpenAiTx 开源免费 只需要一键将 GitHub 的网址替换为 OpenAiTx 即可自动进行 AI 翻译 例如: ...

  6. HarmonyOS Next快速入门:为什么学习HarmonyOS NEXT?

    鸿蒙基础知识##HarmonyOS Next快速入门## 点击跳转<HarmonyOS Next快速入门>视频教程 学习HarmonyOS NEXT的原因主要有以下几点: 一.技术前沿与创 ...

  7. 一周 Star 破万的开源项目「GitHub 热点速览」

    上周的苹果全球开发者大会(WWDC25),万众期待的 AI 加持版 Siri 跳票了,让不少开发者略感失望.然而"东边不亮西边亮",开源社区迎来了重磅级开源项目 container ...

  8. 浅谈开源在线客服系统与 APP 集成的技术方案与优劣势

    在为移动端 App 接入在线客服系统的过程中,我经历了长时间的技术选型探索.最初,我也曾被一些"技术理想主义"选项所吸引,比如让用户自己研发界面我提供 API 以获得最高自由度,或 ...

  9. MongoDB入门实战教程(4)

    通过前面几篇的铺垫,我们基本了解了MongoDB是个什么东西,搭建起了一个MongoDB的小集群环境.接下来,我们就来学习一下MongoDB的基本操作. 1 insert操作 我们都知道对于传统关系型 ...

  10. C# 抛出异常代码应该避免使用 System.Exception或ApplicationException

    在.NET开发中,异常处理是确保程序健壮性和可靠性的关键部分.然而,许多开发者在编写代码时,可能会默认使用 System.Exception 或 ApplicationException 来抛出异常. ...