AT_xmascon22_f Fast as Fast as Ryser
题目描述
无向图 $G$ 以 $1, 2, \ldots, N$ 为顶点,连接顶点 $u$ 和顶点 $v$ 的边恰好有 $A_{u,v}$ 条($1 \le u, v \le N$)。所有的边都是区分的。
对于每个 $k = 0, 1, \ldots, \lfloor N/2 \rfloor$,请计算 $G$ 中大小为 $k$ 的匹配的个数,对 $2^{64}$ 取余。
($G$ 中大小为 $k$ 的匹配是指包含 $k$ 条边的集合,且这些边的端点 $2k$ 个都互不相同。)
输入格式
输入将以下列格式从标准输入给出。
> $N$
$A_{1,1}$ $A_{1,2}$ $\cdots$ $A_{1,N}$
$A_{2,1}$ $A_{2,2}$ $\cdots$ $A_{2,N}$
$\vdots$
$A_{N,1}$ $A_{N,2}$ $\cdots$ $A_{N,N}$
输出格式
对于每个 $k$($0 \le k \le \lfloor N/2 \rfloor$),将 $G$ 中大小为 $k$ 的匹配的个数对 $2^{64}$ 取余后的结果记为 $b_k$,按如下格式输出。
> $b_0$ $b_1$ $\cdots$ $b_{\lfloor N/2 \rfloor}$
说明/提示
### 样例解释 1
$G$ 的大小为 $2$ 的匹配如下:
- 以顶点 $1,2$ 之间的一条边和顶点 $3,4$ 之间的一条边组成的匹配有 $200$ 个。
- 以顶点 $1,3$ 之间的一条边和顶点 $2,4$ 之间的一条边组成的匹配有 $120\,000$ 个。
# 数据范围
- $1 \le N \le 40$。
- $0 \le A_{u,v} < 2^{64}$($1 \le u, v \le N$)。
- $A_{u,u} = 0$($1 \le u \le N$)。
- $A_{u,v} = A_{v,u}$($1 \le u, v \le N$)。
由 ChatGPT 5 翻译