QOJ.ac

QOJ

実行時間制限: 0.3 s メモリ制限: 512 MB 満点: 100

#10347. 取球

統計

小A和小B玩一個遊戲。小A找了一些數,把它們裝進一個袋子裡,然後隨機拿出一個,讓小B猜是多少。小B很快發現猜期望(即這些數的平均數)是最接近的,於是每次都猜期望。小A覺得有些無聊了,於是把遊戲增強了,但是小B又很快地發現猜期望最好。

增強了許多次以後,遊戲變成了這樣:從 $2$ 個袋子裡各隨機取出一個數,分別記作 $m$、$n$,然後小A拿出 $m$ 個球和 $n$ 個袋子,將球都隨機放進袋子中,然後再隨機找出一個袋子,讓小B猜裡面有多少個球(小B知道 $m$ 和 $n$ 分別是多少)。現在小A有些好奇,如果小B每次都猜期望,那麼猜的「偏差度」是多少呢?小A問你袋子裡的實際球數減去小B猜的數的差的 $k$ 次方的期望。

其實,如果設袋子裡的實際球數為 $x$,那麼小A問你的東西叫做變數 $x$ 的 $k$ 階中心矩,它的定義是 $\mathrm{E}\left((x-\mathrm{E}(x))^k\right)$。特別地,2 階中心矩就是方差。

輸入格式

輸入第一行包含 $3$ 個正整數 $N_n$、$N_m$ 和 $N_k$,分別表示取 $n$、$m$ 的袋子的數的種類數和詢問個數。

接下來 $N_n$ 行,每行包含兩個正整數 $n_i$ 和 ${num}_{n_i}$,表示取 $n$ 的袋子中有 ${num}_{n_i}$ 個 $n_i$。

接下來 $N_m$ 行,每行包含兩個正整數 $m_i$ 和 ${num}_{m_i}$,表示取 $m$ 的袋子中有 ${num}_{m_i}$ 個 $m_i$。

接下來 $N_k$ 行,每行包含一個正整數 $k$,表示一次詢問。

輸出格式

可以證明,答案一定是有理數。共輸出 $N_k$ 行,每行一個整數,表示一次詢問的答案模 $1000000007$($10^9+7$)的結果,即,設答案為 $a/b$($a$ 和 $b$ 為互質的正整數),你輸出的整數為 $x$,則你需要保證 $b \cdot x$ 與 $a$ 模 $1000000007$ 同餘且 $0\leq x < 1000000007$。

範例

範例輸入 1

1 1 2
3 1
2 1
2
3

範例輸出 1

444444448
481481485

說明 1

設 $(a,b,c)$ 表示 $3$ 個袋子中的球數分別是 $a$、$b$、$c$,對於第一個詢問,$(2,0,0)$, $(0,2,0)$, $(0,0,2)$ 的機率都是 $1/9$,方差都是 $8/9$,$(1,1,0)$, $(1,0,1)$, $(0,1,1)$ 的機率都是 $2/9$,方差都是 $2/9$,所以方差的期望是 $1/9*8/9*3+2/9*2/9*3=4/9$。$444444448*9$ 與 $4$ 模 $1000000007$ 同餘。

範例輸入 2

2 2 2
3 2
2 1
3 2
2 1
2
3

範例輸出 2

172839508
650205766

說明 2

對於第一個詢問,有 $4/9$ 的機率是 $3$ 袋 $3$ 球,方差的期望是 $2/3$;有 $2/9$ 的機率是 $2$ 袋 $3$ 球,方差的期望是 $3/4$;有 $2/9$ 的機率是 $3$ 袋 $2$ 球,方差的期望是 $4/9$;有 $1/9$ 的機率是 $2$ 袋 $2$ 球,方差的期望是 $1/2$。所以所求等於 $4/9 \times 2/3+2/9 \times 3/4+2/9 \times 4/9+1/9 \times 1/2=50/81$。$172839508 \times 81$ 與 $50$ 模 $1000000007$ 同餘。

資料範圍

對於全部測試資料,$n_i, m_i \leq {10}^9$,$N_n \leq 5000$,$N_m, k, {num}_{n_i}, {num}_{m_i} \leq 2000$,$N_k \leq 200$。

測試點編號 $k\leq$ $n_i,m_i\leq$ $N_n=$ $N_m=$ $N_k=$
1 1 $7$ 1 1 1
2 2 $7$ 1 1 1
3 2 $30$ 1 1 1
4 2 $30$ 2 2 1
5 2 $10^4$ 1 1 1
6 2 $10^9$ 200 200 1
7 3 $30$ 2 2 2
8 3 $10^4$ 2 2 2
9 3 $10^4$ 200 200 2
10 4 $30$ 2 2 2
11 50 $5 \times 10^6$ 1 1 1
12 50 $10^9$ 2000 50 50
13 50 $10^9$ 50 2000 50
14 50 $10^9$ 2000 2000 50
15 300 $30$ 2 2 2
16 300 $10^9$ 2 2 2
17 300 $10^9$ 200 200 200
18 300 $10^9$ 200 200 200
19 2000 $10^9$ 2 2 2
20 2000 $10^9$ 5000 2 2

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.