CF1025G Company Acquisitions

CF1025G Company Acquisitions [* hard]

有一棵菊花树森林,每次操作为随机选择两棵树,然后随机将其中一棵的根作为另一棵菊花树的根节点的儿子,然后断开它和它所有儿子的边。

求这样操作下去,最后他们变成一棵大菊花树的期望次数。

\(n\le 500\),每个点是根或者是 \(x\) 的儿子给出。

Solution

神仙题。

考虑更抽象的描述这个题,给定一个序列 \(a\),保证 \(\sum a_i=n\),每次操作为选择两个点,然后将其中一个变成 \(a_i-1\)\(1\),将另一个 \(+1\)

接着,本题有一个有趣的事实在于,最后的终止局面一定是固定的,初始局面是给定的,我们希望存在一个描述局面的势能函数 \(F(S)\) 满足期望意义下,每次操作一定会使得 \(F(S)\) 增加 \(1\),假设答案就是 \(F(S_{end})-F(S_{begin})\)

对于本题,我们不妨设 \(f(x)\) 表示当有 \(x+1\) 个点的时候的菊花树的势能函数,同时规定 \(F(S)=\sum f(a_i)\)

现在考虑每次操作,对势能函数的影响,不难发现改变量即:

\[\frac{1}{2}(f(a+1)+(b-1)f(0)+f(b+1)+(a-1)f(0))-f(a)-f(b)=1 \]

如果规定 \(f(0)=0\),那么就有:

\[\frac{f(a+1)+f(b+1)}{2}-f(a)-f(b)=1 \]

由于需要对任意 \(a,b\) 成立,所以这应该是一个统一的关系,所以有 \(\frac{f(a+1)}{2}-f(a)=\frac{1}{2}\)

所以 \(f(a+1)=1+2f(a)\)

不难得到 \(f(x)=2^x-1\) 的答案。

所以最终局面为 \(f(n-1)\),得到答案是 easy 的。

posted @ 2020-10-19 17:23  Soulist  阅读(77)  评论(0编辑  收藏  举报