三分搜尋 hdu2241 考研路茫茫 早起看書

2021-08-05 20:24:59 字數 1452 閱讀 7592

考研並不是說說就可以了,要付諸於行動。

對於lele來說,最痛苦的事莫過於早起看書了,不過為了考研,也就豁出去了。由於早起看書會對看書效率產生影響,所以對於要什麼時候起床看書,還是有必要考慮的。

經過周密的調查,lele發現早起的時間會對上午和下午的看書效率都產生影響,具體如下:

他把早起的程度標記為乙個非負有理數x,x數值越大,表示越早起。

1.對上午的影響f:符合 f = n / (x^2) 。其中n是乙個引數。即越早起床,對上午的效率影響越少。

2.對下午的影響y:一般越早起,對下午的效率影響越大。不過y和x的關係比較複雜,並且在不同時候關係也是不同的,於是lele把它繪製成為函式圖形了。在某天,函式圖形如下。

x軸的值表示早起的程度,y軸的值表示對下午看書效率的影響。函式影象為折線上公升的。

不過由於n值和y-x的影象並不確定,所以lele每次都要進行大量工作,來確保對整天的看書效率影響最小(f+y的值最小),現在就請你幫幫他吧。

記住早起時間的取值x一定要在折線包含的範圍之內。(對於上面這個圖象,x一定要在[0,20]之內)。

input

本題目包含多組輸入,請處理到檔案結束。

每組測試第一行包含兩個整數m和n(1

output

對於每組資料,請在一行內輸出可能取到的對全天效率(y+f)影響的最小值。

結果保留三位小數

比較明顯的三分,遞增函式和遞減函式相加,目測存在極小值,但是由於折線不可導,所以不能確定極小值個數,並且不能通過求導來計算極值。對於每段折線,y + f 可能遞增、遞減、凹,所以應該分段,對每個x[i - 1] ~ x[i],都計算最小值,再求最後的最小值。

#include

#include

#include

#include

using

namespace

std;

const

intmaxm =

1e4+ 5;

double

x[maxm

],y[

maxm];

const

double

eps = 1e-

5;intm;

doublen;

double

equ(

double

tx,intp)

void

solve()

ans =

min(ans,

equ((l + r) /

2,i)); }

printf

("%.3lf\n"

,ans); }

intmain()

solve

(); }

return0;

}

三分 HDU 2241 考研路茫茫 早起看書

size medium kidx 的解題報告 b color brown 解題思路 color b b 由題意得 設題目所給m個點存放到點結構p m 中 color red f n x 2 color 設y是第i 1個點跟第i個點連線的方程 設k是這2點連線的斜率 則 根據題目 i using na...

三分搜尋法

二分法作為分治中最常見的方法,適用於單調函式,逼近求解某點的值。但當函式是凸性函式時,二分法就無法適用,這時三分法就可以 大顯身手 如圖,類似二分的定義left和right,mid left right 2,midmid mid right 2 如果mid靠近極值點,則right midmid 否則...

三分搜尋法

二分法作為分治中最常見的方法,適用於單調函式,逼近求解某點的值。但當函式是凸性函式時,二分法就無法適用,這時三分法就可以 大顯身手 如圖,類似二分的定義left和right,mid left right 2,midmid mid right 2 如果mid靠近極值點,則right midmid 否則...