AND Segments

题意翻译

## 题目描述 你有三个整数 $n, k, m$ 以及 $m$ 个限制 $(l_1, r_1, x_1), (l_2, r_2, x_2), \ldots, (l_m, r_m, x_m)$。 计算满足下列条件的,长度为 $n$ 的序列 $a$ 的个数: - 对于每个 $1 \le i \le n$,$0 \le a_i \lt 2 ^ k$。 - 对于每个 $1 \le i \le m$,数字的按位与 $a[l_i] \text{ and } a_[l_i + 1] \text{ and } \ldots \text{ and } a[r_i] = x_i$。 两个序列 $a, b$ 被认为是不同的,当且仅当存在一个位置 $i$ 满足 $a_i \neq b_i$。 由于答案可能过大,请输出其对 $998\ 244\ 353$ 取模的结果。 ## 输入格式 第一行输入三个整数 $n, k, m ~(1 \le n \le 5 \cdot 10 ^ 5; 1 \le k \le 30; 0 \le m \le 5 \cdot 10 ^ 5)~$,分别表示数组 $a$ 的长度,$a$ 中元素的值域,以及限制的个数。 接下来 $m$ 行,每行描述一个限制 $l_i, r_i, x_i ~ (1 \le l_i \le r_i \le n; 0 \le x_i \lt 2 ^ k)$,分别表示限制的线段区间以及按位与值。 ## 输出格式 输出一行一个整数,表示满足条件的序列 $a$ 的个数,对 $998\ 244\ 353$ 取模的结果。 ### 说明/提示 你可以在 [这里](https://en.wikipedia.org/wiki/Bitwise_operation#AND) 获得有关按位与的信息。 在一个样例中,合法的序列 $a$ 有:$[3, 3, 7, 6]$,$[3, 7, 7, 6]$ 以及 $[7, 3, 7, 6]$。

题目描述

You are given three integers $ n $ , $ k $ , $ m $ and $ m $ conditions $ (l_1, r_1, x_1), (l_2, r_2, x_2), \dots, (l_m, r_m, x_m) $ . Calculate the number of distinct arrays $ a $ , consisting of $ n $ integers such that: - $ 0 \le a_i < 2^k $ for each $ 1 \le i \le n $ ; - bitwise AND of numbers $ a[l_i] \& a[l_i + 1] \& \dots \& a[r_i] = x_i $ for each $ 1 \le i \le m $ . Two arrays $ a $ and $ b $ are considered different if there exists such a position $ i $ that $ a_i \neq b_i $ . The number can be pretty large so print it modulo $ 998244353 $ .

输入输出格式

输入格式


The first line contains three integers $ n $ , $ k $ and $ m $ ( $ 1 \le n \le 5 \cdot 10^5 $ , $ 1 \le k \le 30 $ , $ 0 \le m \le 5 \cdot 10^5 $ ) — the length of the array $ a $ , the value such that all numbers in $ a $ should be smaller than $ 2^k $ and the number of conditions, respectively. Each of the next $ m $ lines contains the description of a condition $ l_i $ , $ r_i $ and $ x_i $ ( $ 1 \le l_i \le r_i \le n $ , $ 0 \le x_i < 2^k $ ) — the borders of the condition segment and the required bitwise AND value on it.

输出格式


Print a single integer — the number of distinct arrays $ a $ that satisfy all the above conditions modulo $ 998244353 $ .

输入输出样例

输入样例 #1

4 3 2
1 3 3
3 4 6

输出样例 #1

3

输入样例 #2

5 2 3
1 3 2
2 5 0
3 3 3

输出样例 #2

33

说明

You can recall what is a bitwise AND operation [here](https://en.wikipedia.org/wiki/Bitwise_operation#AND). In the first example, the answer is the following arrays: $ [3, 3, 7, 6] $ , $ [3, 7, 7, 6] $ and $ [7, 3, 7, 6] $ .