【考后总结】8 月 CSP-S 模拟赛 1

SoyTony / 2023-08-03 / 原文

8.3 CSP 模拟 13

蜂鸟 - 吴青峰

传说中人类在远早

住于黑暗的地下之遥

派出了娇小的蜂鸟

找到通往光明的隧道

飞过了一座一座岛

好想有一个地方落脚

把一个一个梦制造

会不会有人能够听到

寻找太阳的梦 自不量力说

自己也变成太阳的念头

有时候寂寞 几乎扛不动

咽在喉咙里无人诉说

我们到底在追求些什么

为何一直不断往前冲

捏出血的双手

忘了也能够 稍微退后

我们总是以为能够自由

回过头那世界却依旧

哎 爱它来的时候

紧握的拳头 别忘了捉那个梦

传说中愤怒的恶魔

曾让这地球四处着火

一只蜂鸟收集云朵

火在雨中变成了彩虹

我们在孤单中探索

危险世界美丽的渴求

就算这力量再微弱

也想牵你手一起挣脱

寻找太阳的梦 自不量力说

自己也变成太阳的念头

有时候寂寞 几乎扛不动

咽在喉咙里无人诉说

我们到底在追求些什么

为何一直不断往前冲

捏出血的双手

忘了也能够 稍微退后

我们总是以为能够自由

回过头那世界却依旧

哎 爱它来的时候

紧握的拳头 别忘了捉

那个梦 来到我的身旁 收拢世界的光

我想要成为自己 也成为你的光

我们到底在追求些什么

为何不断往前冲

捏出血的双手

忘了也能够 稍微退后

我们到底在追求些什么

为何一直不断往前冲

捏出血的双手

忘了也能够 稍微退后

我们总是以为能够自由

回过头那世界却依旧

哎 爱它来的时候

紧握的拳头 别忘了捉那个梦

我那个梦

我那个梦

寂寞中拍打的翅膀

终于找到你一起飞翔

渺小却带来了神话

你看这世界开满了花

\(\text{zero4338 round}\)

T1 y

显然 \(\text{xt}\) 会选择四个角,对每个格子求出到四个角的曼哈顿距离最大值,操作一定会优先选择最大值较小的,所以把距离数组排个序就行了。

T2 s

经典套路是设答案是 \(a\),把小于 \(a\) 的位置设成 \(0\),大于等于设成 \(1\),这样按照操作序列进行一次操作之后结果为 \(0\) 则答案加 \(1\),容易发现如果原排列结果是 \(a\),那么在 \(1\sim a\) 都有一次贡献,等价于加 \(a\)

考虑 DP,设 \(f_{i,j,0/1}\)\(i\) 个操作,排列上有 \(j\)\(1\),当前结果是 \(0/1\) 的方案数。转移平凡,复杂度 \(O(n^2)\)

答案还要乘上 01 序列对应排列的个数 \(j!\times (n-j)!\)

如果每个连续段看作整体 DP 也可以。也有看作多项式平移再矩阵加速的做法,目测常数较大。

T3 p

去年不会,今年还不会。

两个区间并的直径端点一定在两个区间直径端点中。线段树维护。

T4 m

容易想到二项式反演。

钦定 \(i\) 个不合法,枚举有 \(j\) 个只包含 \(1\) 次,再枚举有 \(k\) 个集合中包含钦定的这些元素,那么这些集合的其余 \(n-i\) 的元素暴力选,而另外的集合选择方案数理应是 \(\sum_{l=0}^{2^n-k}\dbinom{2^{n-i}}{l}\),而由于 \(k\le i\)\(2^n-k\ge 2^{n-i}\),所以就是 \(2^{2^{n-i}}\)

\[f(i)=\dbinom{n}{i}\sum_{j=0}^i\dbinom{i}{j}\sum_{k=0}^j\begin{Bmatrix}j\\k\end{Bmatrix} (2^{n-i})^k2^{2^{n-i}} \]

套上二项式反演再整理一下就是:

\[g(0)=\sum_{i=0}^n (-1)^i2^{2^{n-i}}\dbinom{n}{i}\sum_{k=0}^i (2^{n-i})^{k}\sum_{j=k}^i \dbinom{i}{j}\begin{Bmatrix}j\\k\end{Bmatrix} \]

后面这个式子考虑组合意义,从 \(i\) 个元素中选取若干加入到 \(k\) 个集合,要求集合非空,可以递推,大致是 \(F_{i,k}=(k+1)F_{i-1,k}+F_{i-1,k-1}\),也就是每个元素可以选择放或不放、加入或新建一个集合。

这样就 \(O(n^2)\) 解决了。