Falling Anvils
分类:
geometry
probabilities
1.题意概述
- 给你一个一元二次方程 x2+p√⋅x+q=0 ,再告诉你 p∈[0,a] 且 q∈[−b,b] ,问你这样情况下,这个方程有实数根的概率。
2.解题思路
- 这题一元二次方程有实数解,则
p−4q≥0⇒p≥4q
,而根据可行区域我们可以在坐标轴上画出这个取值的矩形区域,再画出
p=4q
这条直线,这条直线会把这块矩形区域切割成两部分,其中一侧就满足
p≥4q
,概率就是这块区域的面积比上总面积,是高中的一道
简单的线性规划问题。
3.AC代码
int t;
scanf("%d", &t);
while (t--) {
int a, b;
scanf("%d%d", &a, &b);
if (a == 0 && b == 0)
puts("1");
else if (4 * b > a) printf("%.6f\n", 0.5 + (1.0 * a) / (16 * b));
else printf("%.6f\n", 1.0 - (1.0 * b) / a);
}