ACM Strange fuction

Posted 如有一味绝境,非历十方生死

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM Strange fuction相关的知识,希望对你有一定的参考价值。

现在,这里有一个功能:
  F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100) 
当x在0到100之间时,你能找到最小值吗?

输入

第一行包含一个整数T(1 < = T < = 100),这意味着测试用例的数量。然后T行,每一行只有一个实数Y。(0 < Y < 1e10)当x在0到100之间时,输出值为最小值(精确到小数点后4位)。

Sample Input

2
100
200

Sample Output

-74.4291
-178.8534
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 double der(double mid)
 4 {
 5     return 42*pow(mid,6)+48*pow(mid,5)+21*mid*mid+10*mid;
 6 }
 7 double cacu(double mid,double y)
 8 {
 9     return 6*pow(mid,7)+8*pow(mid,6)+7*pow(mid,3)+5*mid*mid-y*mid;
10 }
11 int main()
12 {
13     int n;
14     double y,left,right,mid;
15     while(cin>>n)
16     {
17         while(n--)
18         {
19             scanf("%lf",&y);
20             left = 0;
21             right = 100;
22             while(right - left > 1e-8)23             {
24                 mid = (left + right) /2;
25                 if(der(mid) - y > 0)
26                     right = mid;
27                 else
28                     left = mid;
29             }
30             printf("%.4lf\n",cacu(mid,y));
31         }
32 
33     }
34     return 0;
35 }

 

以上是关于ACM Strange fuction的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2899 Strange fuction 二分

HDU 2899 Strange fuction

HDU2899 Strange fuction 二分

HDU 2899 strange fuction

HDU 2899 Strange fuction (模拟退火)

hdu2899Strange fuction(解方程+二分)