考研並不是說說就可以了,要付諸於行動。
對於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]之內)。
【輸入形式】
測試第一行包含兩個整數m和n(1【輸出形式】
對於每組資料,請在一行內輸出可能取到的對全天效率(y+f)影響的最小值。
結果保留兩位小數
【樣例輸入】
3 10 0
10 10
20 30
【樣例輸出】
1.89
解析:將題目所給m個點存放到陣列x[m]和y[m]中
f = n/(x^2)
設y是第i-1個點跟第i個點連線的方程(設k是這2點連線的斜率)
則:(根據題目:x和y是不降的)
y = k * (x-x[i]) + y[i]
設總的函式 =為z
則z = y + f = n/(x^2) + k * (x-x[i]) + y[i]
即:z = n/(x^2) + k*x + (y[i]- k*x[i]) 用導數求
在這一段x[i-1]到x[i]上找到乙個x使得z最小
#include#include#includeusing namespace std;
struct point;
int main(){
int m,n;
cin>>m>>n;
point p[m];
for(int i=0;i>p[i].x>>p[i].y;
float k,x1,y1=0.0;
float min=2147483647;
for(int i=0;i=p[i].x && x1<=p[i+1].x)
min=n/pow(x1,2)+k*x1+(p[i].y-k*p[i].x);
else if(i==m-2){
y1=n/pow(p[i+1].x,2)+k*p[i+1].x+(p[i].y-k*p[i].x);
if(y1
考研路茫茫 早起看書
problem description 考研並不是說說就可以了,要付諸於行動。對於lele來說,最痛苦的事莫過於早起看書了,不過為了考研,也就豁出去了。由於早起看書會對看書效率產生影響,所以對於要什麼時候起床看書,還是有必要考慮的。經過周密的調查,lele發現早起的時間會對上午和下午的看書效率都產生...
三分 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...
三分搜尋 hdu2241 考研路茫茫 早起看書
考研並不是說說就可以了,要付諸於行動。對於lele來說,最痛苦的事莫過於早起看書了,不過為了考研,也就豁出去了。由於早起看書會對看書效率產生影響,所以對於要什麼時候起床看書,還是有必要考慮的。經過周密的調查,lele發現早起的時間會對上午和下午的看書效率都產生影響,具體如下 他把早起的程度標記為乙個...