hdu2899 简单数学+二分+三分
2013-04-05 13:34
288 查看
二分思想 了解二分与三分的适用情况
二分代码:
三分代码:
二分代码:
#include<iostream> #include<cmath> #include<cstdio> using namespace std; const double b=1e-6; double f(double x) { return 42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x; } double F(double x,double y) { return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x; } int main() { int T; double x,y,l,r; cin>>T; while(T--) { cin>>y; if(f(100)<=y) { printf("%.4lf\n",F(100,y)); } else { l=0;r=100; while(r-l>b) { if(f((r+l)/2)>y) r=(r+l)/2; else l=(r+l)/2; } printf("%.4lf\n",F(l,y)); } } return 0; }
三分代码:
#include<iostream> #include<cmath> #include<cstdio> using namespace std; const double b=1e-6; double F(double x,double y) { return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x; } int main() { int T; double l,r,lm,rm,y; cin>>T; while(T--) { cin>>y; l=0;r=100; while(r-l>b) { lm=(2*l+r)/3; rm=(l+2*r)/3; if(F(lm,y)>F(rm,y)) l=lm; else r=rm; } printf("%.4lf\n",F(l,y)); } return 0; }
相关文章推荐
- HDU-2899(简单数学问题+二分查找)
- HDU - 2899 Strange fuction 二分/三分
- HDU 2899 (二分 或者 三分)
- hdu 4430 Yukari's Birthday (简单数学 + 二分)
- HDU 2899 Strange fuction(二分或三分)
- hdu 2899(数学基础+二分)
- hdu 2199 2899 (二分,三分)
- hdu 2899 Strange fuction 【二分,三分】
- HDU 2199 || HDU 2899 (二分查找+数学问题)
- HDU 2199 || HDU 2899 (二分查找+数学问题)
- hdu 2899 二分+数学
- Hdu 2899 - Strange fuction 二分/三分求函数极值点
- CSU-ACM2017寒假集训1B-简单二分和三分 HDU - 2141
- hdu 2899 Strange fuction(二分+数学)
- HDU 2899 Strange fuction(二分,三分)
- Hdu 2899 Strange fuction(二分三分可做,模拟退火解法)
- hdu 2899 简单三分
- hdu 2899 (数学+二分)
- HDU 2899 Strange fuction(二分||三分)
- HDU 1018 Big Number (简单数学)