No.3346 Tree to DAG
タグ : / 解いたユーザー数 12
作問者 :
noya2
問題文
頂点に $1$ から $N$ の番号がついた $N$ 頂点の無向木が与えられます。 $i$ 番目の辺は頂点 $u _i$ と頂点 $v_i$ を結んでいます。
まず、あなたは相異なる頂点 $a,b,c$ を $3$ つ選びます。その後、グラフに頂点 $0$ を追加し、頂点 $0$ と頂点 $a$、頂点 $0$ と頂点 $b$、頂点 $0$ と頂点 $c$ を辺で結びます。このようにして得られるグラフを $G_{a,b,c}$ と呼びます。 ここで、$G_{a,b,c}$ に含まれる辺は $N+2$ 本ありますが、ここでそれぞれの辺に向きを割り当てます。厳密には、頂点 $u,v$ を結ぶような辺を、$u \rightarrow v$ となる有向辺、あるいは$v \rightarrow u$ となる有向辺のいずれか一方に置き換える、ということを全ての辺に対して行います。このとき割り当て方によって $2^{N+2}$ 通りの有向グラフが得られますが、その中で、DAG(有向非巡回グラフ)になっているものの個数を $f(G_{a,b,c})$ とします。
$a,b,c$ を適切に選んだときの、$f(G_{a,b,c})$ の最大値を $998244353$ で割ったあまりを出力してください。
制約
- $3 \le N \le 10^5$
- $1 \le u_i,v_i \le N \ (1 \le i \le N-1)$
- 与えられるグラフは木である
- 入力は全て整数である
入力
入力は以下の形式で標準入力から与えられる。$N$
$u_1\ v_1$
$u_2\ v_2$
$\vdots$
$u_{N-1}\ v_{N-1}$
- $1$ 行目には、木の頂点の数を表す整数 $N$ が与えられる。
- $2$ 行目から $N$ 行には、木の辺の情報が与えられる。このうち、$i+1 (1≦i≦N-1)$ 行目には、頂点 $u_i$ と $v_i$ が辺で結ばれているということを表す整数の組、$u_i, v_i$ が与えられる。
- $N$ 個の頂点は木を成すことが保証される。
出力
答えを $1$ 行で出力してください。
サンプル
サンプル1
入力
3 1 2 2 3
出力
18
頂点 $1,2,3$ を順に $a,b,c$ とすると、グラフ $G_{a,b,c}$ は以下の図のようになります。

5本の辺に向きを割り当てるとき、例えば以下のような場合にはDAGになります。

以下のような場合にはDAGになりません。

サンプル2
入力
11 1 2 2 4 4 6 4 7 1 3 3 5 3 9 9 8 9 10 9 11
出力
7536
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。