QOJ.ac

QOJ

実行時間制限: 4 s メモリ制限: 1024 MB 満点: 100

#1167. 期待値距離

統計

長さ $N-1$ の整数列 $\{a_i\}$ と、長さ $N$ の整数列 $\{c_i\}$ が与えられます。以下の手順で $N$ 頂点からなる木 $T_N$ を構築します。

  • $T_1$ は頂点 1 のみからなる木です。
  • $i > 1$ について、$T_i$ は頂点 $i$ を $T_{i-1}$ のいずれかの頂点に接続して作られます。頂点 $j$ が選ばれる確率は $\frac{a_j}{a_1 + \dots + a_{i-1}}$ です。追加される辺の長さは $c_i + c_j$ となります。
  • $T_N$ が構築された時点でプロセスは終了します。

$Q$ 個のクエリが与えられます。各クエリは頂点のペア $(u, v)$ です。各クエリについて、$T_N$ における $u$ と $v$ の間の期待距離を計算してください。

入力

入力の最初の行には、頂点数 $N$ とクエリ数 $Q$ が含まれます ($2 \le N, Q \le 3 \cdot 10^5$)。

2行目には $N-1$ 個の整数 $a_1, a_2, \dots, a_{N-1}$ が含まれます ($1 \le a_i \le 2000$)。

3行目には $N$ 個の整数 $c_1, c_2, \dots, c_N$ が含まれます ($1 \le c_i \le 2000$)。

続く $Q$ 行の各行は1つのクエリを表し、スペースで区切られた2つの整数 $u$ と $v$ が含まれます。これは期待距離を求める頂点の番号です ($1 \le u, v \le N$)。

出力

各答えは有理数であり、$ans_i = \frac{p_i}{q_i}$ の形で書けることが証明できます。ここで $p_i$ と $q_i$ は互いに素な非負整数であり、$0 < q_i < 10^9 + 7$ です。各クエリについて、$(p_i \cdot q_i^{-1}) \pmod{10^9 + 7}$ を出力してください。

入出力例

入力例 1

5 7
1 1 1 1
1 2 4 8 16
1 3
2 5
4 3
1 5
3 3
4 5
1 2

出力例 1

7
666666697
15
666666697
0
333333366
3

入力例 2

5 4
17 19 23 29
2 3 5 7 11
1 2
3 4
5 2
3 5

出力例 2

5
927495315
106531441
450222593

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.