(dcmp是個好東西)
先增後減求極大。
如果f(lm)大於f(rm),那麼答案在[l,rm]之間
否則答案在[lm,r]之間
(在這裡,等於無所謂)
如果先減後增求極小,則大於和小於交換。(如果忘了,畫張函式影象,舉些特例就知道了)
曾經錯誤:見注釋掉的**
#include#includeusing
namespace
std;
const
double eps=1e-8
;int dcmp(double
x)int
n;double a[20
],l,r;
double getans(double
x)
return
ans;
}int
main()
printf(
"%.5lf
",(l+r)/2
);
return0;
}
洛谷P3382 模板 三分法
題目鏈結 普通的求多項式 double f double x return f 秦九韶演算法從裡到外逐層計算一次多項式的值 double f double x 微積分求導 易證,若f x 0且f x dx f x dx 0則f x 必為原函式的乙個極大值或極小值 求駐點和零點 注 此題不含駐點 題目...
洛谷P3382 模板 三分法
如題,給出乙個n次函式,保證在範圍 l,r 內存在一點x,使得 l,x 上單調增,x,r 上單調減。試求出x的值。輸入格式 第一行一次包含乙個正整數n和兩個實數l r,含義如題目描述所示。第二行包含n 1個實數,從高到低依次表示該n次函式各項的係數。輸出格式 輸出為一行,包含乙個實數,即為x的值。四...
模板 三分法(洛谷P3382)
如題,給出乙個 n 次函式,保證在範圍 l,r 內存在一點 x 使得 l,x 上單調增,x,r 上單調減。試求出 x 的值。第一行一次包含乙個正整數 n 和兩個實數 l r 含義如題目描述所示。第二行包含 n 1 個實數,從高到低依次表示該 n 次函式各項的係數。輸出為一行,包含乙個實數,即為 x ...