BZOJ3695 滑行(神題,費馬原理)

2021-10-01 04:18:33 字數 1345 閱讀 5884

description

首長noi慘跪,於是去念文化課了。現在,他面對一道物理題。

現在有乙個小滑塊可以在地面上滑行,地面上被劃分成不同的區域,使得小滑塊在不同的

區域內部有乙個不同的速度上限。

小滑塊在(0,0)點,我們現在要推動小滑塊到目標點(x,y)。

地面上有n層區域,每層區域都是矩形,現在給你乙個序列表示每層區域的高度,覆蓋的地面橫座標範圍是0~x,第i個區域的限速是vi。

注: y=sigma(hi) 其中i從1到n

其它的地方小滑塊不允許進入。

現在我們要設計乙個路線使得小滑塊滑到目標點的用時最小。

input

第一行兩個整數,分別表示n、x。

第二行n個整數,第i個數表示hi。。

第三行n個整數,第i個數表示vi。

output

一行乙個整數,表示最小用時,保留到小數點後第三位。

sample input

1 55

1sample output

7.071

hint

n<=100,x<=1000,對於任意i,滿足1<=i<=n-1,有visource

思路:

已經跪在鍵盤前了,這尼瑪都是些什麼題。

。。。本題有乙個重要結論,就是光速最短原理。按照光的偏折性走到終點,距離一定最短。那麼我們二分光的起始角度,終點由此確定,而且距離一定最短。終點的位置,和角度有對應的單調關係,因此可以二分。

#include

#include

#include

#include

using

namespace std;

const

double pi =

acos(-

1.0)

;const

int maxn =

1e3+7;

double h[maxn]

,v[maxn]

,ans;

int n;

double

check

(double t)

return x;

}int

main()

for(

int i =

1;i <= n;i++

)double l =

0,r = pi /2;

while

(r - l >

1e-12

)else l = mid;

}printf

("%.3f\n"

,ans)

;return0;

}

BZOJ 4916 神犇和蒟蒻

很久很久以前,有乙隻神犇叫yzy 很久很久之後,有乙隻蒟蒻叫lty 請你讀入乙個整數n 1 n 1e9,a b模1e9 7 請你輸出乙個整數a sum n 請你輸出乙個整數b sum n 1by monster yi 杜教篩 推導詳見 其中ni2和ni6分別是2和6的逆元,是用快速冪求出來的 inc...

bzoj4916 神犇和蒟蒻

求 i 1n i2 和 i 1n i2 n 1e9,答案對1e9 7取模 被題目名字和ac人數騙進來,一看題還嚇了一跳 難道這是什麼最新的操作.jpg 然後仔細看了一眼題 mdzz這不是隨便做嗎?的話除了i 1不是全部為0嗎?的話把式子拆出來就可以發現 i2 i i 然後就直接上杜教篩就好了。隱藏水...

bzoj4916 神犇和蒟蒻

首先看第乙個式子,根據莫比烏斯函式的性質可知,當i 1時,i 1 其它都是0.所以輸出1 然後看第二個式子。根據尤拉函式的性質,平方的部分多出來的質因數已經出現過,所以式子變成 n i 1i i 這個用杜教篩來求。include include include include using names...