(紀中) 二分 數學 物理實驗

2021-09-28 22:19:24 字數 2774 閱讀 6251

(file io): input:atom.in output:atom.out

時間限制: 1000 ms 空間限制: 262144 kb 具體限制

題目描述

小l目前正在他的實驗室裡研究高能粒子。他發現了一種神奇的粒子,小l稱其為l粒子。l粒子擁有著n

nn個價位,第i個價位對應儲存著大小為aiai

ai的勢能,並且aiai

ai互不相同。現在小l想要做乙個實驗來研究l粒子的性質,他首先會選出l粒子的三種價位x,y

,z(ax),

x,y,z(axx,

y,z(

ax),

一開始l粒子處於價位x

xx,然後小l會給l粒子充能,使其價位公升高至z

zz,然後控制l粒子釋放能量,使其價位跌落至y

yy,最後l粒子會自發地流失能量,使其價位回到x

xx。為了盡可能地利用能量,小l希望這個實驗的能量利用效率 最大。但由於實驗裝置過於老舊,小l並不能給l粒子充超過m能量(也就是說az−

axaz-ax

az−a

x不能大於m

mm),否則實驗儀器會損壞。小l想知道他做實驗的能量利用效率最大是多少,但他還有別的事情要忙,於是他把這個問題交給了你。

輸入

第一行乙個整數t

tt,表示資料組數。

接下來每組資料第一行兩個整數n,m

,n,m,

n,m,

意義如題麵中所述。

第二行n

nn個整數,第i個表示l粒子價位i儲存的勢能ai.

輸出

對於每組資料輸出一行乙個實數,表示最大的效率,如果小l不能完成實驗,輸出−1-1

−1.你與標準答案的絕對誤差不能超過10(

−9)10^(-9)

10(−9)

。(後來竟然發現題目資料都保留了12位。。。。)

樣例輸入

15 5

1 2 5 8 9

樣例輸出

0.750000000000

資料範圍限制

解題思路

遙想當年,竟然不會求效率。。。。哎~

由題可知,效率等於(z−

y)/(

z−x)

(z-y)/(z-x)

(z−y)/

(z−x

),要大,也就是(z−

y)/(

y−x)

(z-y)/(y-x)

(z−y)/

(y−x

)要大,也就是(y−

x)/(

z−y)

(y-x)/(z-y)

(y−x)/

(z−y

)要小 ,(我太難了) 。

要想效率高,z

zz要大,y

yy要小,且x

x<

zm,x

<

yx<

y<

z,y是乙個定值(大於且緊鄰x

xx),z

zz要最大且z−x

<

mz-xz−

x<

m我們可以列舉x

xx,二分求zzz。

(搞定)!!!!!!!高興的我打了七個感嘆號

#include

#include

#include

#include

using namespace std;

long long n,m,a[

100852

],j,t;

long long l,r,mid;

double ans=0;

int main()

ans=

max(ans,

1.0*

(a[l]

-a[j])/

(a[l]

-a[i]))

;}if(ans==0)

cout<

<

else

printf

("%.12f\n"

,ans);}

return0;

}**二

#include
#include

#include

#include

using namespace std;

long long n,m,a[

100852

],j,t;

long long l,r,mid;

double ans=0;

int main()

ans=

max(ans,

1.0*

(a[l]

-a[j])/

(a[l]

-a[i]))

;}if(ans==0)

cout<

<

else

printf

("%.12f\n"

,ans);}

return0;

}

二分 數學 NOIP普及組T3 物理實驗

題目描述 小l目前正在他的實驗室裡研究高能粒子。他發現了一種神奇的粒子,小l稱其為l粒子。l粒子擁有著n nn個價位,第i ii個價位對應儲存著大小為a ia i ai 的勢能,並且a ia i ai 互不相同。現在小l想要做乙個實驗來研究l粒子的性質,他首先會選出l粒子的三種價位x,y z a x...

HDU 1597 二分 數學

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

python中二分查詢

二分查詢也稱折半查詢,它的效率較高。但是二分查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。寫二分查詢時有兩個方法,乙個是用遞迴,乙個不用遞迴。用遞迴的方法如下 coding utf 8 def binary search alist,item 二分查詢。遞迴法 n len ali...