CF1528
Posted Soulist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF1528相关的知识,希望对你有一定的参考价值。
CF1528
A
可以发现答案只会在 \\(L_i/R_i\\) 处取到。
B
可以发现递推式:\\(f_i=S_{i-1}+d_i\\)
C
对第一棵树 dfs,在第二棵树上贪心:能加入则加入,否则去替换其一个祖先。
D
假设能够在时刻 \\(i\\) 访问 \\(v\\),那么可以在时刻 \\(i+t\\) 访问 \\(v+t\\bmod n\\),枚举起点,然后跑一个 \\(\\mathcal O(n^2)\\) 的 dij 即可,这里计算某个点的最小出边需要单独处理一下。
E
可以发现答案只有 3 类:外向树,内向树,一个外向树和内向树拼在一起。
第一类和第二类的主体是每个点儿子数不超过 \\(2\\) 的外向树方案数:转移由 burnside 定理给出:\\(f_i=f_{i-1}+\\frac{1}{2}(S_{i-1}^2-S_{i-2}^2+f_{i-1})\\)
计算答案的时候和烷烃计数一致,枚举 \\(3\\) 种情况转移即可,乘以 \\(\\frac{1}{6}\\)(由于根节点的 deg 可能为 \\(3\\))
外向树和内向树拼起来的时候,可以发现有多个点可以作为分界点,但合法的方案一定满足内向树的部分根节点度数为 \\(2\\),且外向的边的度数为 \\(1\\),这个部分的贡献为 \\((f_{i}-f_{i-1})(f_{n-i-1}-1)\\)(减去单独一条链的情况)
F
我们构造一个长度为 \\(n\\) 的序列(一排座位),对于每个 \\(a_i\\),令第 \\(i\\) 个人走到 \\(a_i\\),然后往后移动至第一个空座位。(CF838D)
我们可以发现这样的一个策略和一个合法的序列是双射,添加一个辅助节点,并连接成一个环,可以发现只要 \\(n+1\\) 为空就有合法的方案,因此答案为 \\((n+1)^{n-1}\\)
接下来我们有一个重要观察:任意一个非法的方案都可以映射到一个合法的方案。
这是因为对于任意一个非法的方案,设 \\(x\\) 为其抵达的空位置,则令 \\(a_i\\leftarrow (a_i+(n+1)-x)\\mod (n+1)+1\\) 可以实现将其逆时针旋转 \\(x\\) 位的结果。
换而言之,我们直接对 \\(a_i\\in [1,n+1]\\) 的序列进行计数,然后将答案乘以 \\(\\frac{1}{n+1}\\) 即为答案。
现在,问题已经相当明朗了,答案就是:
以上是关于CF1528的主要内容,如果未能解决你的问题,请参考以下文章
[CF1528C]Trees of Tranquillity
[CF1528E]Mashtali and Hagh Trees