hdu 2899 數學基礎 二分

2022-07-24 03:00:17 字數 623 閱讀 3992

題意:給了你乙個函式,然後給了你x的變化範圍0到100,讓你求出函式的最小值。

分析:它讓你求的是函式的最小值,所以我們可以先對函式求導,得到的導數就可以判斷函式的單調性了,求出導數後,我們發現如果函式的導數是x越大所求的的導數也就越大,

當導數一直為負數時,函式是單調遞減的;當導數開始是負數,然後是正數,那說明函式開始時遞減的然後是遞增的,那麼當導數為0時函式值肯定是最小的!我們求導數為0的

過程,我們可以用二分實現!

#include #define eps 1e-7 //該常量為精度

#define f 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x

#define df 42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x-y //導數,函式隨著x增大單調遞增

using

namespace

std;

intmain()

else

if(df>0

)

} printf(

"%.4lf\n

",f);

}}

其他題解:

HDU 2899 三分模板

題目 click 題意 找乙個如上函式的min值。三分一般用於凹函式或者凸函式,就是先減後增或者先增後減的函式。直接上個模板,每次更新靠近極值點的,自己畫個圖就比較明顯了。include include include include include include include include ...

二分法求最值(HDU2899)

題目鏈結。題目就是給出乙個關於x的多項式,其中y是引數,給定任意的y求出這個多項式的最小值。我們首先觀察y的範圍就可以知道,x一定是在 0,100 之間的數字,求這個多項式的最小值,當然是當這個多項式對應的函式的導函式的等於零的時候最可以取得最值 當然這句話是很不嚴謹的,導函式等於零只是函式取最值的...

HDU 1597 二分 數學

題目鏈結 思路 不知道為什麼我的搜尋專題出現了這道題.好像是可以折半搜尋,但感覺複雜度很高,觀察了一下 第乙個數 1位 第二個數 2位 第n個數 n位 那如果連起來,連線完第n個數,這個數的位數為 1 2 3 4 n 這不正是等差數列求和嗎?然後我用下面的 簡單測了一下。include using ...