HDU 5105 Math Problem
让求 f ( x ) = | a ∗ x 3 + b ∗ x 2 + c ∗ x + d | ( L ≤ x ≤ R )的最大值 这个题目讨论a和b的值,如果a==0的话,那么这个方程就变成了一个一元二次方程,直接找端点和对称轴(如果对称轴在给定的区间内)处的函数值就行,如果a != 0,那么求导,求导之后判断二次方程的delta,如果delta小于等于0,说明是单调的,那么最值还是端点处取到,如果delta大于0, 那么就要比较两个极点(如果极点在给定的区间内)处的值和端点值的大小就行了。 /************************************************************************* > File Name: math.cpp > Author: Howe_Young > Mail: 1013410795@qq.com > Created Time: 2015年09月14日 星期一 20时18分44秒 ************************************************************************/ #include <cstdio> #include <iostream> #include <cstring> #include <cmath> #include <cstdlib