AT_ttpc2022_i XOR Reachable

题目描述

给定整数 $N, M, K$,以及一个包含 $N$ 个顶点、$M$ 条边的无向图。图中每个顶点编号为 $1$ 到 $N$,每条边编号为 $1$ 到 $M$。第 $i$ 条边 ($1 \le i \le M$) 连接顶点 $A_i$ 和顶点 $B_i$,且边上有一个非负整数 $C_i$。 接下来给出 $Q$ 个查询。对于第 $i$ 个查询($1 \le i \le Q$),给定一个整数 $D_i$。请你求满足下列所有条件的整数对 $(u, v)$ 的个数: - $1 \le u < v \le N$ - 只能通过满足 $(C_j \oplus D_i) < K$ 的边 $j$,从顶点 $u$ 移动到顶点 $v$ 这里 $\oplus$ 表示按位异或运算。 按位异或运算 $X \oplus Y$ 的定义如下:将 $X$ 和 $Y$ 转换为二进制,对于每一个 $2^k$ 位($0 \le k$),如果 $X$ 和 $Y$ 的该位不同则为 $1$,否则为 $0$。 例如,$3 \oplus 5 = 6$,因为二进制表示为 $011 \oplus 101 = 110$。

输入格式

输入按以下格式由标准输入给出。 > $N$ $M$ $K$ $A_1$ $B_1$ $C_1$ $A_2$ $B_2$ $C_2$ $\vdots$ $A_M$ $B_M$ $C_M$ $Q$ $D_1$ $D_2$ $\vdots$ $D_Q$

输出格式

输出 $Q$ 行。第 $i$ 行($1 \le i \le Q$)输出第 $i$ 个查询的答案。

说明/提示

### 样例解释 1 - 在第 $1$ 个查询中,仅能通过边 $2,4$。 - 在第 $2$ 个查询中,仅能通过边 $2,4,5$。 - 在第 $3$ 个查询中,仅能通过边 $1,3$。 - 在第 $4$ 个查询中,无法通过任何边。 ### 数据范围 - 所有输入均为整数。 - $2 \le N \le 10^{5}$ - $1 \le M \le 10^{5}$ - $0 \le K < 2^{30}$ - $1 \le A_i < B_i \le N$ ($1 \le i \le M$) - $0 \le C_i < 2^{30}$ ($1 \le i \le M$) - $1 \le Q \le 10^{5}$ - $0 \le D_i < 2^{30}$ ($1 \le i \le Q$) 由 ChatGPT 5 翻译