hdu5105(求一元三次方程的最值)
来源:互联网 发布:appstore美区软件 编辑:程序博客网 时间:2024/04/30 04:14
题意:求
思路:对a进行分情况讨论,a == 0,那么就是一元二次方程求最值; a != 0,求导求极值点。
代码如下:
#include<iostream>#include<cstdio>#include<cmath>using namespace std;double a,b,c,d,l,r;double fun(double x){ return fabs(a*x*x*x + b*x*x + c*x + d);}int main(){ while(scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&l,&r) != EOF) { double ans = max(fun(l),fun(r)); if(a == 0) { if(b != 0) { double temp = -c/b/2; if(temp >= l && temp <= r) ans = max(ans,fun(temp)); } } else { double a1 = 3*a; double b1 = 2*b; double c1 = c; double temp = b1*b1 - 4*a1*c1; if(temp >= 0) { double x1 = (-b1 + sqrt(temp) )/2/a1; double x2 = (-b1 - sqrt(temp) )/2/a1; if(x1 >= l && x1 <= r) ans = max(ans,fun(x1)); if(x2 >= l && x2 <= r) ans = max(ans,fun(x2)); } } printf("%.2lf\n",ans); } return 0;}
0 0
- hdu5105(求一元三次方程的最值)
- HDU5105 - Math Problem(一元三次方程求最大值(直接暴力))
- 【2031】求一元三次方程的解
- 三分求一元三次方程的极值:hdu 4355
- LightOJ 1297 - Largest Box (一元三次方程求最大值)
- 一元三次方程的求解
- 一元三次方程的求解
- Speed Racer (一元三次方程的求解)
- 一元三次方程求根公式的解法
- 一元三次方程的求解问题
- 一元三次方程求根公式的解法
- 用弦截法求一元三次方程的根
- 一元三次方程的分治解法
- 一元三次和四次方程的解
- 一元三次方程的实数根
- 一元三次方程求解(折半查找)
- 一元三次方程求解(二分法寻根)
- 一元三次方程求解(注意范围)
- Servlet(五)web.xml常用的一些配置
- 修复Genymotion无法启动的问题
- 《网蜂A8实战演练》——7.Linux LCD设备驱动
- [字典树、map] HDU 1800 - Flying to the Mars
- 实验4(统计文本单词个数)
- hdu5105(求一元三次方程的最值)
- 深入Redis内部-Redis 源码讲解
- 使用装饰模式来看接口
- fgbfbgbvnvbn
- 解决无法删除的dll文件
- 新博客开始
- Two Sum
- 实验4(幻方)
- qt4.X编译qtcreator2.8