hdu 2899 Strange fuction(导数+二分)
2015-03-31 18:21
260 查看
Strange fuction
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4000 Accepted Submission(s): 2888
Problem Description
Now, here is a fuction:
F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100)
Can you find the minimum value when x is between 0 and 100.
Input
The first line of the input contains an integer T(1<=T<=100) which means the number of test cases. Then T lines follow, each line has only one real numbers Y.(0 < Y <1e10)
Output
Just the minimum value (accurate up to 4 decimal places),when x is between 0 and 100.
Sample Input
2 100 200
Sample Output
-74.4291 -178.8534
Author
Redow
题目分析:因为求最小值,所以求导数,然后二分导数结果为0的x值,代入原函数即可
#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #include <cmath> #define eps 1e-8 using namespace std; int t; double n; double f ( double x ) { return 42.0*pow( x , 6 ) + 48.0*pow( x , 5 ) + 21.0*pow( x , 2 ) + 10.0*x; } double g ( double x , double n ) { return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-n*x; } double search ( double n ) { double left = 0.0 , right = 100.0 , mid; while ( fabs(left-right) > eps ) { mid = ( left + right ) / 2.0; if ( f(mid) < n ) left = mid; else right = mid; } return mid; } int main ( ) { scanf ( "%d" , &t ); while ( t-- ) { scanf ( "%lf" , &n ); double ans = search ( n ); printf ( "%.4lf\n" , g( ans , n ) ); } }
相关文章推荐
- Hdu 2899 Strange fuction(二分三分可做,模拟退火解法)
- Hdu 2899 - Strange fuction 二分/三分求函数极值点
- HDU 2899 Strange fuction(二分,三分)
- HDU 2899 Strange fuction (二分)
- hdu 2899 Strange Fuction(二分)
- hdu 2899 Strange fuction (二分)
- HDU 2899 Strange Fuction(二分查找)
- HDU--杭电--2899--Strange fuction--二分
- hdu 2899 Strange fuction 二分
- HDU 2899 Strange fuction(二分)
- hdu - 2899 - Strange fuction(二分)
- HDU 2899 Strange fuction 二分求方程解
- hdu 2899 Strange fuction (二分)
- HDU 2899 Strange fuction(二分||三分)
- HDU 2899 Strange fuction(二分查找根)
- hdu 2899 Strange fuction(二分+数学)
- hdu 2899 Strange fuction 【二分,三分】
- HDU 2899 Strange fuction 二分 + 精度控制
- HDU - 2899 Strange fuction 二分/三分
- HDU—2899—strange fuction—【二分】【精度控制】