題解 P3382 模板 三分法

2022-03-06 22:23:36 字數 596 閱讀 8430

本題使用充滿mo力的mo你退火

關於模擬退火,ta。。。

看到這單峰函式,猛地意識到模擬退火基本可以a掉,而靈魂**

else

}

是不需要的。。。(要也沒事)

#includeusing namespace std;

int n;

double x[15];

double ansx,ans=-1e18-7,temperature;

double xs=0.995;

double l,r;

double calc(double x)

for(int i=n;i>=0;i--)

return res;

}void sa()

else

}temperature*=xs;

}}int main()

srand(time(null));

ansx=(l+r)/2;

sa();

sa();

sa();

printf("%.5lf",ansx);

}

P3382 模板 三分法

這是一道版子題 一開始看了別人的部落格,知道三分方法 後來自己實現 交了兩次,全wa。原因是係數定義成了int.唉樣例竟然過了 第三次就全ac了 沒啥思維含量,不過學到了 fabs 和 判斷精度 今天xmz問我一本通的 也用到了精度判斷 三分 include include include incl...

P3382 模板 三分法

這道題其實是可以二分的,但是有更好的演算法,叫做三分。三分這種演算法用於求單峰函式的最大值或者最小值。演算法思想就是弄 l,r 區間的兩個三等分點,然後來縮小範圍。因為這道題是求峰頂,所以我們可以模擬退火通過兩個三等分點的大小關係來縮小範圍。我們把那個值小的那邊的範圍弄掉,慢慢我們就會到達峰頂。還有...

洛谷P3382 模板 三分法

題目鏈結 普通的求多項式 double f double x return f 秦九韶演算法從裡到外逐層計算一次多項式的值 double f double x 微積分求導 易證,若f x 0且f x dx f x dx 0則f x 必為原函式的乙個極大值或極小值 求駐點和零點 注 此題不含駐點 題目...