1.22 CW 模拟赛 T3. candiestest
思路
首先我们考虑枚举 \(P\) \(\mathcal{O} (n)\) , 然后我们处理其他位置的可行性 \(\rm{dp}\) \(\displaystyle\mathcal{O} \left(\frac{n^2}{w}\right)\) , 然后最后考虑 \(Q\) 是 \(\mathcal{O} (\sum \upsilon)\) 的, 其中 \(\upsilon\) 是值域
形象的转化问题, 我们要求出对于一个集合 \(\mathbb{S}\) , 使得 \(\mathbb{S} \cup (\mathbb{S} \to k) = \varnothing\) 的最小 \(k\) , 时间复杂度要求 \(\mathcal{O} (1)\) , 这样才能做到 \(\mathcal{O} \left(\displaystyle\frac{n^3 \upsilon}{w}\right)\) , 勉强通过
但是怎么做?
发现我们可以形式化的转化问题
一个 \(k\) 不合法, 仅当存在一个距离为 \(k\) 的点对同时存在于 \(\mathbb{S}\)
以上是赛时想法
但是这样不可做, 换一下思路
首先同上我们可以知道 \(P\) , 考虑知道 \(P\) 之后对这个 \(P\) 取最优 \(Q\)
这样就可以大幅度减小复杂度, 知道 \(P\) 的复杂度是 \(\mathcal{O} \left(\displaystyle\frac{n^3}{w}\right)\)
求 \(Q\) 最简单的方法是枚举, 复杂度 \(\mathcal{O} \left(\displaystyle\frac{n^2}{w}\right)\)
看上去能过, 实际上只有 \(50 \ \rm{pts}\) , 还需要优化
发现因为值域之和很大, 仅仅枚举过不去
考虑一个 \(Q\) 不合法, 仅当
一个巧巧又妙妙的做法是将 \(\displaystyle - \sum_{i \in \mathbb{U}} val_i\) 提出来, 看作是一些负体积的物品, 然后直接做背包即可
总结
有趣思维题
注意对于这样一类最优性问题, 先处理一个部分, 再从这个部分的基础上求另一个部分的最优解可以显著降低复杂度
善于将约束条件的本质找出来并且进行处理
非常聪明的处理, 善于将柿子中的负部的实际意义用于处理问题

浙公网安备 33010602011771号