題目大意:有$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 ...