愤怒

愤怒的小鸟

题意:给定若干个点,求解用至少多少个抛物线(形如 \(y=ax^2+bx,a<0\))穿过所有点。

首先考虑到经过一个点的抛物线有无数条,但是我们可以看作一条仅可穿过此点的抛物线。

两点确定抛物线,我们可以枚举穿过的两个点,预处理这个抛物线可以穿过的点的集合。

然后就可以 DP 了。

\(f_i\) 表示状态为 \(i\) 的答案。

这里不在乎顺序,反正迟早要覆盖,于是我们只需要找到状态中的任意一个没被覆盖的点,然后枚举穿过的另外一个点,更新答案(即刷表法)。

复杂度 \(O(n^3+n2^n)\)

posted @ 2023-09-17 16:10  wscqwq  阅读(9)  评论(0编辑  收藏  举报