Đếm Xâu Ngoặc

Xem dạng PDF

Gửi bài giải


Điểm: 0,10 (OI)
Giới hạn thời gian: 5.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bạn được cho một số nguyên dương chẵn ~n~, đồng thời là ~k~ cặp số ~(l_i, r_i)~ thỏa mãn điều kiện ~1 \le l_1 < r_1 < l_2 < r_2 < \ldots < l_k < r_k \le n~. Hãy đếm số lượng xâu ngoặc đúng~^\dagger~ ~s~ có độ dài ~n~ thỏa mãn điều kiện sau, modulo ~998\,244\,353~:

  • Với mọi ~1 \le i \le k~, ~s_{l_i} \neq s_{r_i}~.

~^\dagger~ Một xâu ~s~ được tạo thành từ hai loại kí tự ~\mathtt{(}~ và ~\mathtt{)}~ được gọi là xâu ngoặc đúng nếu ~s~ thỏa mãn một trong ba điều kiện sau:

  • ~s~ rỗng.

  • ~s~ có dạng "~\mathtt{(} t \mathtt{)}~", với ~t~ cũng là xâu ngoặc đúng.

  • ~s~ có dạng "~ab~", với ~a~ và ~b~ là hai xâu ngoặc đúng.

Input

Mỗi test gồm nhiều test case. Dòng đầu tiên chứa số lượng test case ~t~ (~1 \leq t \leq 10\,000~). Mô tả của mỗi test case như sau.

Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~ (~2 \le n \le 2 \cdot 10^5~, ~n~ chẵn, ~0 \le k \le \frac{n}{2}~) — độ dài của xâu ~s~ và số được cặp số được cho.

Dòng thứ ~i~ trong ~k~ dòng tiếp theo chứa hai số nguyên ~l_i~ và ~r_i~ biểu diễn cặp số thứ ~i~ được cho. Đảm bảo rằng điều kiện ~1 \le l_1 < r_1 < l_2 < r_2 < \ldots < l_k < r_k \le n~ được thỏa mãn.

Đảm bảo rằng tổng của ~n~ qua tất cả các test case không vượt quá ~2 \cdot 10^5~.

Output

Với mỗi test case, in ra một số nguyên là số lượng xâu ngoặc đúng ~s~ thỏa mãn điều kiện đề bài, modulo ~998\,244\,353~.

Scoring

Subtask Điểm Ràng buộc
1 ~1000~ Tổng của ~n~ không vượt quá ~2000~
2 ~1500~ ~l_i + 1 = r_i~ với mọi ~1 \le i \le k~
3 ~1500~ Không có ràng buộc gì thêm
Tổng ~4000~

Sample Input 1

5
6 0
4 2
1 2
3 4
8 1
1 8
8 2
1 3
5 8
20 4
2 8
9 10
15 17
19 20

Sample Output 1

5
1
14
3
692

Notes

Ở test case đầu tiên, các xâu hợp lệ là ~\mathtt{((()))}~, ~\mathtt{(()())}~, ~\mathtt{(())()}~, ~\mathtt{()(())}~, ~\mathtt{()()()}~.

Ở test case thứ hai, xâu duy nhất hợp lệ là ~\mathtt{()()}~.

Ở test case thứ tư, các xâu hợp lệ là ~\mathtt{(())(())}~, ~\mathtt{(())()()}~, ~\mathtt{(()(()))}~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.