atcoder#ABC277G. [ABC277G] Random Walk to Millionaire
[ABC277G] Random Walk to Millionaire
题目描述
個の頂点と 本の辺からなる連結かつ単純な無向グラフが与えられます。
について、 番目の辺は頂点 と頂点 を結んでいます。
高橋君は、はじめレベルが の状態で頂点 におり、下記の行動をちょうど 回行います。
- まず、いまいる頂点に隣接する頂点の中から、 つを等確率でランダムに選択し、その頂点に移動する。
- その後、移動後の頂点 に応じて、下記のイベントが発生します。
- のとき : 高橋君のレベルが だけ増加する。
- のとき : 高橋君のいまのレベルを とする。高橋君は 円のお金を獲得する。
上記の 回の行動の過程で高橋君が獲得するお金の合計金額の期待値を で出力してください(注記参照)。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
给出一个 个点 条边的无向简单连通图,每个点有一个点权 。
初始时在 号点,等级为 。接下来他要做 次如下操作:
- 随机地走向当前所在点的一个相邻点。
- 如果这个点 ,将等级加一;如果这个点 ,设 当前的等级为 ,他可以获得 元钱。
求 次操作中 一共获得的钱数的期望,答案对 取模。
5 4 8
4 5
2 3
2 4
1 2
0 0 1 1 0
89349064
8 12 20
7 6
2 6
6 4
2 1
8 5
7 2
7 5
3 7
3 5
1 8
6 3
1 4
0 0 1 1 0 0 0 0
139119094
提示
注記
求める期待値は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な つの整数 , を用いて と表したとき、 かつ を満たす整数 がただ一つ存在することが証明できます。この を求めてください。
制約
- $ N-1\ \leq\ M\ \leq\ \min\lbrace\ N(N-1)/2,\ 3000\rbrace $
- $ i\ \neq\ j\ \implies\ \lbrace\ u_i,\ v_i\rbrace\ \neq\ \lbrace\ u_j,\ v_j\ \rbrace $
- 与えられるグラフは連結
- 入力はすべて整数
Sample Explanation 1
高橋君の移動経路として考えられるものは複数ありますが、ここでは例として、高橋君が頂点 を始点として、$ 1\ \rightarrow\ 2\ \rightarrow\ 4\ \rightarrow\ 5\ \rightarrow\ 4\ \rightarrow\ 2\ \rightarrow\ 1\ \rightarrow\ 2\ \rightarrow\ 3 $ と移動する場合に獲得するお金の合計金額を計算します。 1. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君のレベルが に上がります。 2. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君は 円を獲得します。 3. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君のレベルが に上がります。 4. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君は 円を獲得します。 5. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君のレベルが に上がります。 6. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君のレベルが に上がります。 7. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君のレベルが に上がります。 8. 高橋君は 回目の行動で、いまいる頂点 に隣接する頂点 に移動します。 であるため、その後高橋君は 円を獲得します。 よって、高橋君が獲得するお金の合計金額は、 円です。