A5857 | 「BJOI2019」光线
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收。
设对于任意 $x$,有 $x\times a_i\%$ 单位的光会穿过它,有 $x\times b_i\%$ 的会被反射回去。
现在 $n$ 层玻璃叠在一起,有 $1$ 单位的光打到第 $1$ 层玻璃上,那么有多少单位的光能穿过所有 $n$ 层玻璃呢?
设对于任意 $x$,有 $x\times a_i\%$ 单位的光会穿过它,有 $x\times b_i\%$ 的会被反射回去。
现在 $n$ 层玻璃叠在一起,有 $1$ 单位的光打到第 $1$ 层玻璃上,那么有多少单位的光能穿过所有 $n$ 层玻璃呢?
输入格式
第一行一个正整数 $n$,表示玻璃层数。
接下来 $n$ 行,每行两个非负整数 $a_i,b_i$,表示第 $i$ 层玻璃的透光率和反射率。
接下来 $n$ 行,每行两个非负整数 $a_i,b_i$,表示第 $i$ 层玻璃的透光率和反射率。
输出格式
输出一行一个整数,表示穿透所有玻璃的光对 $10^9 + 7$ 取模的结果。
可以证明,答案一定为有理数。设答案为 $a/b$($a$ 和 $b$ 是互质的正整数),你输出的答案为 $x$,你需要保证 $a\equiv bx \pmod {10^9 + 7}$。
可以证明,答案一定为有理数。设答案为 $a/b$($a$ 和 $b$ 是互质的正整数),你输出的答案为 $x$,你需要保证 $a\equiv bx \pmod {10^9 + 7}$。
输入输出样例
输入 #1
2 50 20 80 5
输出 #1
858585865
输入 #2
3 1 2 3 4 5 6
输出 #2
843334849
对于 $5\%$ 的数据,保证 $n=1$。
对于 $20\%$ 的数据,保证 $n\le 2$。
对于 $30\%$的数据,保证 $n\le 3$。
对于 $50\%$ 的数据,保证 $n\le 100$。
对于 $70\%$ 的数据,保证 $n\le 3000$。
对于 $100\%$ 的数据:
- $1\le n\le 5\times 10^5$
- $1\le a_i \le 100$
- $0\le b_i \le 99$
- $1\le a_i+b_i \le 100$
- 每组 $a_i$ 和 $b_i$ 在满足上述限制的整数中随机生成。
对于 $20\%$ 的数据,保证 $n\le 2$。
对于 $30\%$的数据,保证 $n\le 3$。
对于 $50\%$ 的数据,保证 $n\le 100$。
对于 $70\%$ 的数据,保证 $n\le 3000$。
对于 $100\%$ 的数据:
- $1\le n\le 5\times 10^5$
- $1\le a_i \le 100$
- $0\le b_i \le 99$
- $1\le a_i+b_i \le 100$
- 每组 $a_i$ 和 $b_i$ 在满足上述限制的整数中随机生成。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?