降智了……

当你走头无路的时候就应该知道瞎搞一个DP:

$p[i]$ 表示光射入第 $1$ 块玻璃时,从第 $i$ 块玻璃出去的光量。

$q[i]$ 表示光射入第 $i$ 块玻璃时,从第 $i$ 块玻璃出去的光亮。

为什么是第 $i$ 块呢?因为我们最后只关注 $p[n]$,所以我们关注的反射都是前 $i$ 块射向第 $i+1$ 块(也就是 $q[i]$)和从第 $i+1$ 块射向前 $i$ 块(也就是 $b_{i+1}$)。

初始状态 $p[1]=a_1,q[1]=b_1$。答案为 $p[n]$。

随便画个图得到转移:

$$p[i]=\dfrac{p[i-1]a_i}{1-q[i-1]b_i}$$

$$q[i]=b_i+\dfrac{q[i-1]a_i^2}{1-q[i-1]b_i}$$

时间复杂度 $O(n\log)$。可以做到 $O(n)$,但是懒得写了。

#include<bits/stdc++.h>
using namespace std;
const int maxn=,mod=,inv100=;
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define ROF(i,a,b) for(int i=(a);i>=(b);i--)
#define MEM(x,v) memset(x,v,sizeof(x))
inline int read(){
int x=,f=;char ch=getchar();
while(ch<'' || ch>'') f|=ch=='-',ch=getchar();
while(ch>='' && ch<='') x=x*+ch-'',ch=getchar();
return f?-x:x;
}
int n,a[maxn],b[maxn],f[maxn],g[maxn];
inline int add(int x,int y){return x+y<mod?x+y:x+y-mod;}
inline int sub(int x,int y){return x<y?x-y+mod:x-y;}
inline int mul(int x,int y){return 1ll*x*y%mod;}
inline int qpow(int a,int b){
int ans=;
for(;b;b>>=,a=mul(a,a)) if(b&) ans=mul(ans,a);
return ans;
}
int main(){
n=read();
FOR(i,,n) a[i]=mul(read(),inv100),b[i]=mul(read(),inv100);
f[]=a[];g[]=b[];
FOR(i,,n){
int inv=qpow(sub(,mul(g[i-],b[i])),mod-);
f[i]=mul(mul(f[i-],a[i]),inv);
g[i]=add(b[i],mul(mul(mul(a[i],a[i]),g[i-]),inv));
}
printf("%d\n",f[n]);
}

最新文章

  1. HTTPS 互联网世界的安全基础
  2. 使用JHChart勾勒你想要的图表
  3. nginx的日常应用
  4. 说说SQL Server 网络配置
  5. noi 1.5 45:金币
  6. mac下环境变量、maven3.1.1 及 jdk1.7.0.45配置
  7. Java.web-application-development-environments-for-macosx
  8. WWF3状态机工作流&lt;WWF第七篇&gt;
  9. POJ 2386 Lake Counting (水题,DFS)
  10. 20150515--关于IIS的备忘(WIN7)
  11. activity工作的使用
  12. Java笔记原生数据类型【二】
  13. POJ2151 动态规划
  14. PL/SQL编程要点和注意点
  15. Ceph osd启动报错osd init failed (36) File name too long
  16. svn服务器的搭建与使用一
  17. npm 模块的总结
  18. 金融量化之Tushare模块
  19. linux异步IO的两种方式【转】
  20. [20190219]那个更快(11g).txt

热门文章

  1. JDBC数据库连接测试工具
  2. Java连载7-变量&amp;数据类型
  3. mac pe简单安装方法
  4. Linux高性能服务器编程,书中的 shell 命令
  5. Linux socket program Demo1(client &amp; server)
  6. CompletableFuture1
  7. windows10 启动安卓模拟器会蓝屏的解决方案
  8. python基础之Matplotlib库的使用一(平面图)
  9. chrome安装react-devtools开发工具
  10. 章节十四、9-Actions类鼠标悬停、滚动条、拖拽页面上的元素