洛谷P5323 BJOI2019 光線

2022-05-23 21:24:08 字數 784 閱讀 6287

題目大意:有$n$層玻璃,每層玻璃會讓$a\%$的光通過,並把$b\%$的光反射。有一束光從左向右射過,問多少的光可以透過這$n$層玻璃

題解:事實上會發現,可以把連續的幾層玻璃合成一層玻璃,但是要注意玻璃兩側的反射率可能是不一樣的。

令$a$為前$i$層玻璃的透過率,$b$為前$i$層玻璃從右向左的反射率。$a$為第$i+1$層玻璃的透過率,$b$為第$i$層玻璃的反射率。那麼前$i+1$層玻璃的透過率為$a'$,前$i+1$層玻璃從右向左的反射率為$b'$

$$a'=aa\sum_^(bb)^i\\

\because bb<1\\

\therefore a'=\dfrac\\

\begin

b'&=b+a^2b\sum_^(bb)^2\\

&=b+\dfrac

\end

$$卡點:

c++ code:

#include #include #define mul(a, b) (static_cast(a) * (b) % mod)

const int mod = 1e9 + 7;

namespace math

inline int inv(int x)

}int n, a, b, inv_100;

int main()

std::cout << a << '\n';

return 0;

}

洛谷 P3713 BJOI2017 機動訓練

參考部落格 洛谷 p3713 有一張 n times m 的網格圖,每個格仔上有乙個字元,乙個格仔是八聯通的,定義一條路徑 選定起點 s 終點 t s not t 設一步後從 x,y 走到了 x y 那麼 tx x ge tx x ty y ge ty y 將經過格仔上的字元連成乙個字串,則這條路徑...

洛谷P5443 APIO2019 橋梁

apio場外選手沒事休閒做題。看了yyb的題解才把這題做出來 對操作進行分塊,把每 text 個操作分成1組,裡面大概有2類 沒被修改過的和被修改過的。接著對塊內詢問進行離線。對於沒有修改過的 我們可以直接排序然後把他們加入並查集。對於修改過的,我們看他的時間是否大於當前操作的時間,如果大於則加入原...

洛谷 P5326 ZJOI2019 開關

令 p i dfrac 設 f x 表示在第 k 步到達合法狀態的概率的生成函式,因為只關心第一次到達合法狀態的情況,所以設 g x 表示走 k 步後回到原來的狀態的概率,h x 表示第 k 步第一次走到合法狀態的概率,則有 f x g x h x to h x dfrac 設 h x sum a ...