2021.12.16 模拟赛

今日份自闭。

T1 排列2

知道析合树的话就有方向了,其实就是在 DP \(n\) 个点有多少种不同形态的析合树。

析合树就是把连续段看作点,儿子有序为合点,否则为析点。那么合点至少有 \(2\) 个儿子,析点至少有 \(4\) 个儿子(例:\(2,4,1,3\))。

DP 设 \(f_i(n)\) 表示根有 \(i\) 个儿子 \(n\) 个点的析合树个数,转移就是从 \(i-1\) 加一个儿子,卷卷卷。

根节点有 \(4\) 个儿子及以上的树,按根节点是析还是合,要算两遍。所以只需要考虑 \(2\)\(3\)、至少 \(4\) 共三种状态,\(\mathcal O(n^2)\)

T2 升级

\(f_i\)\(i\)\(n\) 的期望步数不好推。

\(f_i\)\(i\)\(i+1\) 的期望步数,可以得到

\[f_i=p+(1-p)\left(1+\sum_{j=\max(i-a,0)}^if_j\right) \]

\[f_i=\frac 1p+\frac{1-p}{p}\sum_{j=\max(i-a,0)}^{i-1}f_j \]

矩阵转移可以快速幂,\(\mathcal O(a^3\log n)\)

还有一些零碎的小 Subtask 要特判。吐槽出题人 std 写挂了。

T3 定价

似乎就是暴力模拟,码农题。

等我什么时候精力旺盛了再写吧。

posted @ 2021-12-16 20:16  RenaMoe  阅读(35)  评论(0编辑  收藏  举报