简要题意:
平面直角坐标系的第一象限有若干绿猪,小鸟要通过若干条函数解析线来消灭它们。每个小鸟可以把所有 y = a x 2 + b x ( a < 0 ) y=ax^2 + bx (a<0) y=ax2+bx(a<0) 上的 ( x , y ) (x,y) (x,y) 的所有绿猪消灭,当然没有绿猪就是白走。问最少多少次后可以消灭所有的绿猪。 T T T 组数据。
前记
实际上,之前写过一篇 骗分导论,里面有点口出狂言,既然自己说了能 60 p t s 60pts 60pts 那还不来填坑?
算法一
对于 70 % 70 \% 70% 的数据, n ≤ 12 n \leq 12 n≤12.
实际上,直接爆搜即可。
怎么搜?对于每个搜索状态,你可以用一个 vector \text{vector} vector 来记录当前 剩下绿猪的坐标,并记录当前步数。
由于 vector \text{vector} vector 可以方便的删除元素,我们枚举当前 vector \text{vector} vector 的两个坐标并计算出 a , b a,b a,b 的值,然后判断 a < 0 a<0 a<0,合法则将所有 y = a x 2 + b x y=ax^2+bx y=ax2+bx 上的绿猪删除,进入下一层。
这样的话,如果你没有开 long double \text{long double} long double,可以得到 55 p t s 55pts 55pts.
开了之后就是 70 p t s 70pts 70pts. 脸黑啊
时间复杂度: O ( 70pts ) O(\text{70pts}) O(70pts).
期望得分: 60 p