2021-03-16 模拟赛总结

T1 color

我很快就想到了一个 O ( n 2 ) O(n^2) O(n2) 的做法,骗了 50 分。

虽然题解里说正解是从 n 方的做法中优化来的,但是我想的做法跟题解做法大相径庭,根本无法优化:

把必须出现的颜色看成是区间互相包含关系,于是类似括号序列,每种颜色有个左边界和右边界。把它看成是树上加点,再记录一下叶子节点数,把一号点去掉,当成 0 号点,方便计算答案。设 dp[i][j] 为出现 i 种颜色,即树中有 i+1 个点时,有 j 个是叶子的方案数,那么新加入的点就有两种可能,成为之前某个点最大的弟弟,或者成为某个点的大儿子, d p [ i ] [ j ] = d p [ i − 1 ] [ j ] ∗ j + d p [ i − 1 ] [ j − 1 ] ∗ ( 2 ∗ i − j ) dp[i][j]=dp[i-1][j] * j + dp[i-1][j-1] * (2*i-j) dp[i][j]=dp[i1][j]j+dp[i1][j1](2ij),然后对答案的贡献为 d p [ i ] [ j ] ∗ C ( n − 1 , i − 1 ) ∗ C ( m + j , i ∗ 2 ) dp[i][j] * C(n-1,i-1) * C(m+j,i*2) dp[i][j]C(n1,i1)C(m+j,i2)
该做法与 n 2 n^2 n2 死死绑定,无法优化。

T2 fenwick

没有细推,于是一直把一个错误结论相信了一个半小时,最后连最显然的暴力都没打,只拿了 10 分。

T3 gift

不会 polya 定理,不会 Burnside 引理,不擅长打暴力,于是只有 5 分了。

猜你喜欢

转载自blog.csdn.net/weixin_43960414/article/details/114904062