P10104 [GDKOI2023 提高组] 异或图

题目描述

给定一张 $n$ 个点 $m$ 条边的无向图和一个长度为 $n$ 的数组 $a_1, a_2, \cdots , a_n$ 以及一个整数 $C$,你需要求出有多少个长度为 $n$ 的数组 $b$ 满足: 1. $0 ≤ b_i ≤ a_i,\forall 1 ≤ i ≤ n$。 2. 对于每条边 $(u, v)$,$b_u \ne b_v$。 3. $b_1 ⊕ b_2 ⊕ \cdots ⊕ b_n = C$,其中 $\oplus$ 代表异或。 答案对 $998244353$ 取模。

输入格式

输出格式

说明/提示

可行的 $b$ 数组有 $(0, 1, 3),(0, 2, 0),(1, 0, 3),(1, 2, 1)$ 四种。 对于所有数据,满足 $1 ≤ n ≤ 15$,$ 0 ≤ m ≤ \frac{n(n−1)}{2}$,$ 0 ≤ a_i, C ≤ 10^{18}$。 - Subtask 1 (20pts):$n ≤ 5$,$ 0 ≤ a_i, C ≤ 15$。 - Subtask 2 (50pts):$n ≤ 13$。 - Subtask 3 (10pts):$m = 0$。 - Subtask 4 (20pts):无特殊限制。