#P5115. [清华集训2015]园子里

    ID: 4201 传统题 1000ms 512MiB 尝试: 6 已通过: 1 难度: 7 上传者: 标签>CF2200概率DP数学前缀和排序强连通分量高斯消元拓扑排序

[清华集训2015]园子里

题目描述

ns 在园子里过着快乐而充实的生活。突然有一天,从天而降 nn 根柱子,这 nn 根柱子在学堂路上排成一排,第 ii 根柱子高度为 hih_i(即 hih_i 为原始高度)米,然而,当有人站在第 ii 根柱子上的时候,第 ii 根柱子的高度会下降 tit_i(即当有人在上面时候 hitih_i-t_i 就是当前高度)米,离开之后又会恢复。ns 对这些柱子非常感兴趣,他可以从一根柱子跳到任意一个(包括他原本站着的柱子)原始高度不超过他所在柱子当前高度的柱子上,如果有多个柱子都满足,他会随机等概率地跳到一个满足条件的柱子上,如果没有柱子满足,他就会跳到地上。

ns 想知道,如果他从第 ii 个柱子开始,期望跳多少次可以跳到地上。

输入格式

第一行一个整数 nn,表示柱子的数量。

第二行 nn 个空格隔开的整数 hih_i,表示每根柱子的高度(单位:米)。

第三行 nn 个空格隔开的整数 tit_i,表示有人站在第 ii 根柱子上的时候高度会下降 tit_i 米。

输出格式

输出一行 nn 个浮点数,每两个浮点数用一个空格隔开,第 ii 个数表示 ns 从第 ii 根柱子开始,期望跳多少步可以跳到地上,如果期望步数为无穷,输出 00;如果你输出的每个浮点数与标准答案的误差(此处误差定义为你的答案与标准答案差的绝对值)均不超过 0.0010.001,你的答案将被视为正确。

注意,我们会用一个特殊的程序来判断你的答案正确与否,你输出每个浮点数的字符串长度应该不超过 2020

定义无穷可以参与运算:无穷 + X = 无穷,无穷 - X = 无穷,无穷 * X = 无穷,无穷 / X = 无穷(XX 为任一实数,在除法中不为 00)。

样例一

输入

4
4 2 2 3
2 1 1 2

输出

2.000 1.000 1.000 1.000

样例二

输入

4
4 2 2 3
0 1 1 0

输出

2.833 1.000 1.000 2.500

样例三

输入

4
4 2 2 3
0 0 0 0

输出

0 0 0 0

数据范围

时间限制:1s1\texttt{s}

空间限制:512MB512\texttt{MB}

输入格式见前文,输入的每个数都是整数,具体各测试点满足下列限制:

编号 nn hih_i tit_i 特殊性
1 1n101 \leq n \leq 10 1hi1051 \leq h_i \leq 10^5 0tihi0 \leq t_i \leq h_i ti>0t_i>0
2
3 1n1021 \leq n \leq 10^2 ti>0t_i>0
4 ti=0t_i=0
5 ti=hit_i=h_i
6
7
8
9 1n1031 \leq n \leq 10^3 ti>0t_i>0
10 ti=0t_i=0hih_i 全不相同
11
12
13 1n1051 \leq n \leq 10^5 hih_i 全部相同
14 ti>0t_i>0
15
16
17 1n1061 \leq n \leq 10^6 ti=hit_i=h_i
18 ti>0t_i>0
19
20