Misc Records ep.1
Misc 丢一些神秘的杂题。
1.【数据删除】
将 \(n\) 个球放进 \(m\) 个盒子,求所有盒子的最大期望球数。
\(n\le 2000\),\(m\le 10^9\)。
期望可以视为总和除上 \(m^n\)。
令 \(f_k\) 表示 \([\max=k]\) 的方案数,那么问题等价于 \(\sum kf_k\)。
试着容斥成 \([\max \ge k]\),记这个方案数是 \(g_k\),会发现对于一个 \([\max=k]\) 的方案,他刚好被 \(\sum g_k\) 算了 \(k\) 次。
\([\max\ge k]\) 仍然不好算,再换成 \([\max <k]\),即为 \(h_k\),那么答案就是 \(\sum m^n-h_k\)。
对此 DP,记 \(p_{i,j}\) 为 \(n=i\),\(m=j\) 的方案数,枚举 \(k\) 做若干次 DP。
每次 DP 用总方案减掉不合法的方案,也就是:
直接做是 \(O(n^3)\) 的,但是注意到转移式里面有 \(i-k-1,j-1\),所以其实 \(j\) 每次减一都会使 \(i\) 减 \(k\),于是合法的状态数锐减到 \(O(n\ln n)\),直接 DP 即可做到 \(O(n^2 \ln n)\)。
2.【数据删除】
平面上有 \(m+t+q\) 个点,从中选出一个大小为 \(m+t\) 的子集,要求包括 \(t\) 个特定点,求他们两两之间曼哈顿距离的最大值。
\(m\le 4\),\(1\le q\le 2\times 10^4\),\(0\le t\le 20\)。
首先对于 \(t\) 个点内部可以暴力处理出答案。
接下来对于 \(m+q\) 个点,可以先给他们 set 出一个权值。
于是问题也就变成了每个待选点有一个权值,尝试维护他们内部的答案。
多个点曼哈顿距离的一种求法是,直接将坐标排序,然后就可以计算出所有点的贡献系数。
既然排序,其实不如考虑枚举坐标的排列,由排序不等式,很明显取所有排列的最大值即可解决问题。
于是直接 DP,令 \(f_{i,S_1,S_2}\) 表示已经考虑了前 \(i\) 个点,剩下的 \(S_1,S_2\),分别是 \(m\) 个数占据的 \(x_i,y_i\) 坐标的相对位置,直接写就可以做到 \(O(qm^24^m)\),实际上状态不会有那么多,因为 \(\text{ppc}(S_1)=\text{ppc}(S_2)\)。
3. 【USsR #1】彩色括号
尝试先做一些必要操作。
对于一个合法括号序列:
()的个数相等。- 前缀和非负。
那么对于第一个条件,我们可以转化为三种颜色的括号均满足个数相等。
对于第二个条件,我们可以转化为挖掉一种颜色的括号后,前缀和非负。
为了满足第一个条件,可以优先贪心,对于不满足的颜色,我们可以改最前面的 ) 或者最后面的 ( 来解决问题。
剩余的操作会形如:将某个颜色的第一个 ) 和最后一个 ( 交换。
假定每个颜色做了 \(x_i\) 次,则目标便是最小化 \(x_1+x_2+x_3\),考虑他们对应的限制。
枚举两个存在的颜色记为 \(1,2\),那么我们对于一个前缀 \(j\) 有:
其中 \(a_{1,j}\) 表示前缀 \(j\) 颜色为 \(1\) 的 ) 数量,\(b_{1,j}\) 表示前缀 \(j\) 颜色为 \(1\) 的 ( 数量,他们约束了最多改变的量。
\(\min\) 的不等式,可以改写为若干个同时成立的不等式组,于是有
对这些不等式组取并后大力枚举一维即可。

浙公网安备 33010602011771号