愤怒
愤怒的小鸟
题意:给定若干个点,求解用至少多少个抛物线(形如 \(y=ax^2+bx,a<0\))穿过所有点。
首先考虑到经过一个点的抛物线有无数条,但是我们可以看作一条仅可穿过此点的抛物线。
两点确定抛物线,我们可以枚举穿过的两个点,预处理这个抛物线可以穿过的点的集合。
然后就可以 DP 了。
令 \(f_i\) 表示状态为 \(i\) 的答案。
这里不在乎顺序,反正迟早要覆盖,于是我们只需要找到状态中的任意一个没被覆盖的点,然后枚举穿过的另外一个点,更新答案(即刷表法)。
复杂度 \(O(n^3+n2^n)\)。