問題一覧 > 通常問題

No.3346 Tree to DAG

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 12
作問者 : n_bitand_n_per_3 / テスター : Nzt3 jupiter_68 noya2
ProblemId : 12801 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-11-13 19:33:06
コンテストの他の問題:

問題文

頂点に $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になりません。

このサンプルの場合、DAGになるような割り当て方は全部で $18$ 通りです。
サンプル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もしくは右上の雲マークをクリックしてアカウントを作成してください。