QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 512 MB مجموع النقاط: 100 الصعوبة: [عرض]

#1810. Tạo các dãy số

الإحصائيات

Xét $S$ là một dãy các dãy số nguyên. Ban đầu, $S_0 = (1)$. Sau đó, chúng ta xây dựng $S_1, S_2, \dots, S_n$ như sau.

Gọi $|S_i|$ là độ dài của dãy $S_i$, và $s_{i,j}$ là phần tử thứ $j$ của $S_i$. Khi đó $S_{i+1}$ sẽ có độ dài $|S_i| + 1$ và có thể thu được từ $S_i$ bằng cách sử dụng một trong hai thao tác sau:

  • Viết số 1 hoặc số nguyên $m$ cho trước vào vị trí thứ $|S_i| + 1$ của dãy mới.
  • Chọn một chỉ số $j$ ($1 \le j < |S_i|$), chọn số nguyên $x$ sao cho $s_{i,j} < x < s_{i,j+1}$ hoặc $s_{i,j} > x > s_{i,j+1}$, và đặt nó vào giữa $s_{i,j}$ và $s_{i,j+1}$, dịch chuyển các chỉ số của phần bên phải sang phải 1 đơn vị.

Cho $n$ và $m$, hãy tìm số lượng các tập hợp có thứ tự khác nhau của các dãy $S_1, \dots, S_n$. Hai tập hợp được coi là khác nhau nếu tồn tại ít nhất một chỉ số $i$ từ $1$ đến $n$ sao cho các dãy $S_i$ trong các tập hợp đó khác nhau. Vì kết quả có thể rất lớn, hãy in ra kết quả theo modulo $998\,244\,353$.

Dữ liệu vào

Dữ liệu vào gồm một dòng chứa hai số nguyên $n$ và $m$ ($1 \le n \le 3000, 2 \le m \le 10^8$).

Dữ liệu ra

In ra số lượng các dãy $S$ khác nhau theo modulo $998\,244\,353$.

Ví dụ

Dữ liệu vào 1

2 3

Dữ liệu ra 1

5

Ghi chú

Dưới đây là các dãy có thể có trong ví dụ đầu tiên:

  • $S_1 = (1, 3)$ (thao tác thứ nhất), sau đó $S_2 = (1, 2, 3)$ (thao tác thứ hai);
  • $S_1 = (1, 1)$ (thao tác thứ nhất), sau đó $S_2 = (1, 1, 3)$ (thao tác thứ nhất);
  • $S_1 = (1, 1)$ (thao tác thứ nhất), sau đó $S_2 = (1, 1, 1)$ (thao tác thứ nhất);
  • $S_1 = (1, 3)$ (thao tác thứ nhất), sau đó $S_2 = (1, 3, 3)$ (thao tác thứ nhất);
  • $S_1 = (1, 3)$ (thao tác thứ nhất), sau đó $S_2 = (1, 3, 1)$ (thao tác thứ nhất).

Do đó, kết quả là 5.

Dữ liệu vào 2

1024 52689658

Dữ liệu ra 2

654836147

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.