AT_agc056_f.[AGC056F] Degree Sequence in DFS Order

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

已知整数 N,MN,M, 求有多少个整数序列 a=(a1,a2,⋯ ,aN)a=(a_1,a_2,\cdots,a_N) 可以由以下方式生成,答案对 998244353998244353 取模。

  • 选择一个 NN 个点,MM 条边的无向连通图 GG,要求无自环,但可以有重边。
  • 进行 DFS,令 aia_i 表示遍历到的第 ii 个点的度数,具体的,执行以下代码:
a = empty array

dfs(v):
    visited[v]=True
    a.append(degree[v])
    for u in g[v]:
        if not visited[u]:
            dfs(u)

dfs(arbitrary root)

这里,gg 是图 GG 的邻接表,g[v]g[v] 是任意顺序的与 vv 相连的顶点列表。

举个例子,对于 N=4,M=5N=4,M=5,一个可能的 a=(2,4,1,3)a=(2,4,1,3),图 GG 如下图所示:

G

顶点上的数字表示访问他们的顺序,橙色箭头表示遍历时经过的边。

输入格式

一行两个数 N,MN,M。

输出格式

一行一个数,表示答案。

样例解释 1\textbf 1

只有 a=(2,2)a=(2,2) 合法。

Translated by @nr0728.

输入输出样例

  • 输入#1

    2 2

    输出#1

    1
  • 输入#2

    3 4

    输出#2

    9
  • 输入#3

    10 20

    输出#3

    186225754
  • 输入#4

    100000 1000000

    输出#4

    191021899

说明/提示

  • 2≤N≤M≤1062\le N\le M\le 10^6。

输入解题思路,AI测评打分。不知道怎么写?

首页