cf280C. Game on Tree(期望线性性)】的更多相关文章

题意 题目链接 Sol 开始想的dp,发现根本不能转移(貌似只能做链) 根据期望的线性性,其中\(ans = \sum_{1 * f(x)}\) \(f(x)\)表示删除\(x\)节点的概率,显然\(x\)节点要被删除,那么它的祖先都不能被删除,因此概率为\(\frac{1}{deep[x]}\) #include<bits/stdc++.h> #define Pair pair<int, int> #define MP(x, y) make_pair(x, y) #define…
>传送门< 题意:思路:期望的线性性(可加性),比赛的时候写的代码超级无敌长,不过值得欣慰的是一发AC了,官方的题解写的还不错~ 我们可以把每种数字对答案的贡献分开来计算,即枚举每个数字,求原序列有多少个子区间包含至少一个该 数字,最后把答案累加起来即可. 问题在于求序列有多少个子区间包含至少一个某数字,既可以直接计算,也可以考虑用全集减去不包含的子区间.不包含的子区间的个数可以枚举相邻两个数字,并累加中间空隙的子区间个数,再统计一下边界即可. 时间复杂度为O(n) 下面给出直接计算的代码 C…
期望多少次操作,我们可以看做是染黑了多少节点 那么,我们可以用期望的线性性质,求出每个节点被染黑的概率之和(权值为$1$) 一个节点$u$被染黑仅跟祖先有关 我们把$u$到祖先的链抽出来 只要选取链上任意一点,那么我们对节点$u$的染黑的概率就讨论完了 发现链以外的点对这条链的影响都是相同的 也就是说,选取这条链上的一个点的概率都是相同的 因此,选取点$u$的概率就是这条链的节点数的倒数,也就是$\frac{1}{dep_u}$ 最后的结果就是对每个点进行求和 $\sum\limits_{1 \…
传送门 题意:给出一棵树,在每一轮中,随机选择一个点将它与它的子树割掉,最后割掉所有点时游戏结束,问游戏期望进行多少轮.$N \leq 10^5$ 和的期望等于期望的和,我们考虑每一个点对最后答案的贡献. 考虑到如果把某一个点$u$的任意一个祖先割掉,$u$就不会产生贡献,而只有在割掉$u$的祖先之前割掉$u$,$u$才能产生$1$的贡献,所以对于某一个点$u$,它产生贡献的概率为$\frac{1}{dep_u}$,所以我们求一边$\sum\frac{1}{dep_i}$就可以了 #includ…
这道题之前我写过一个巨逗比的写法(传送门:http://www.cnblogs.com/liu-runda/p/6220381.html) 当时的原因是这道题可以抽象出和"绿豆蛙的归宿"差不多的模型,而我之前写"绿豆蛙的归宿"就是用的这个巨逗比的方法. 然后前几天看了@Sengxian的博客里"绿豆蛙的归宿"的写法(传送门:https://blog.sengxian.com/algorithms/probability-and-expected-…
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63399955 向大(hei)佬(e)势力学(di)习(tou) 之前一直都没有接触过期望,更别说期望dp了. 先从期望说起吧,dp什么的先不谈.浅谈一下期望的线性性(可加性),这是一个很重要的性质,主要用我做的这几道例题来更感性的理解(真的是浅谈...orz) 首先,期望是指一个事件有多种结果,每一种结果出现有一定的可能性. 对于随机变量x,它的期望E(…
利用期望的线性性,即 $E(a+b)=E(a)+E(b)$. 对于所有点分别求一下期望然后累加即可. code: #include <bits/stdc++.h> #define N 100006 using namespace std; void setIO(string s) { string in=s+".in"; freopen(in.c_str(),"r",stdin); } double ans=0.0; int edges; int hd[…
这道题算是真正意义上人生第一道期望的题? 题目大意: 给定一个n个点的,以1号点为根的树,每一次可以将一个点和它的子树全部染黑,求染黑所有点的期望 QwQ说实话,我对期望这种东西,一点也不理解... 根据期望的线性性,计算出每个点比选择的期望次数,然后直接相加 所以得出\(E(x) = \frac{1}{dep[x]}\) 这里之所以是$ \frac{1}{dep[x]}$是因为我们求的期望是每个点把自己及自己子树染黑的概率(而不是靠祖先) 或者换种说法: 整棵树的期望操作次数太大,难以找到方法…
题目描述: \(1<=n,ai<=5*10^5\) 题解: 我是弱智我不会期望线性. 设\(E(a[i])\)表示第i个期望被减的个数. \(E(a[1])=a[1]\) 不难发现\(E(a[i])(i>1)\)之间互不影响,其实这很难. 考虑固定这两个,它们两个选到的概率一样,选到其它的就无视就好了. 那么只用考虑\(n=2\)的情况,这个直接暴力枚举\(a[1]\)结束时\(a[i]\)有几个,乘个\(1\over 2\)的几次方和组合数,式子如下: \(=a[i]-\sum_{i=…
题目链接 : CF280C Game on Tree 题意 : 给定一棵n个节点的树T 根为一(我咕的翻译漏掉了...) 每次随机选择一个未被删除的点 并将它的子树删除 求删整棵树的期望步数 n ∈ [1, 1e5] 裸期望问题 考虑贡献 如果要避开一个点对其他点的影响关系[蒟蒻觉得这是期望问题最重要的点 一个点的贡献就只看它自己 不看它的子树 这时每个点如果对结果有贡献 那么就是选中了它 它还没被删 这个的概率就是它上面的节点(父亲.各辈祖宗) 都没被删 由此得 E = Σa P(a被选择时没…