QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#783. Разбитые мечты

Statistics

Предыстория

«Из моей маленькой и тесной комнаты» «От моей кровати, полной жадности» «В мир, где всегда есть место» «Но всё разбилось, разбилось» — «Разбитая мечта» (Broken Dream), COP, Ло Тяньи

Спустя много лет, чем стали олимпиадные задачи для Иай? Лишь ярким, но незаконченным сном. Вечным сном, потерянным сном, безнадежным сном, разбитым сном. Словно что-то вспомнив, она достала из коробки покрытый пылью блокнот и с трудом нашла зарядное устройство от старой эпохи. Под гул вентилятора перед ней вновь предстал забытый мир. Ей казалось, что стоит лишь взглянуть на задачу, и она сможет распутать её нити, но это было лишь самообманом. «Как там вычисляются числа Стирлинга второго рода?» — внезапно всплыло у неё в голове. Да, когда-то она была глубоко погружена в комбинаторные вычисления, но теперь она забыла даже основы.

Описание задачи

Числа Стирлинга второго рода — это количество способов разбить $n$ элементов на $m$ непустых подмножеств. Далее мы будем обозначать это число как $f(n, m)$.

Программа Иай использует простую рекуррентную формулу: $f(n, m) = f(n - 1, m - 1) + m f(n - 1, m)$, с начальными значениями $f(0, 0) = 1, f(0, m) = 0$ при $m \neq 0$. Смысл этой формулы несложен: либо $n$-й элемент образует отдельное подмножество, либо он распределяется в одно из уже существующих $m$ подмножеств.

Программа Иай выглядит так:

for (int i = 1; i <= n; ++i)
for (int j = 0; j <= min(i, m); ++j)
f[i][j] = (f[i - 1][j - 1] +
j * (long long)f[i - 1][j]) % 998244353;

(Можно считать, что значения вне границ массива равны 0, а размер массива составляет $(n + 1) \times (m + 1)$).

В конечном итоге программа Иай должна была вывести $f(n, m) \pmod{998244353}$, но возникла проблема: по разным причинам после вычисления $f(x, y)$ произошла ошибка записи в память, и значение $f(x, y)$ было заменено на число $z$. Такие события произошли в общей сложности $k$ раз для различных пар $(x, y)$.

Определите, какое значение $f(n, m) \pmod{998244353}$ фактически выдаст программа Иай после этих $k$ ошибок.

Входные данные

В первой строке содержатся три целых числа $n, m, k$, смысл которых описан выше.

Далее следуют $k$ строк, каждая из которых содержит три числа $x_i, y_i, z_i$, означающих, что после завершения вычисления $f(x_i, y_i)$ в памяти было записано значение $z_i$.

Выходные данные

Выведите одно целое число — итоговый результат $f(n, m) \pmod{998244353}$, полученный программой.

Примеры

Входные данные 1

5 3 1
1 0 1

Выходные данные 1

31

Входные данные 2

1000 100 0

Выходные данные 2

958221900

Входные данные 3

broken/broken3.in

Выходные данные 3

broken/broken3.ans

Ограничения

Для всех тестов гарантируется: $1 \le x_i \le n \le 9 \times 10^8$, $0 \le y_i \le m \le \min(n, 10^5)$, $0 \le k \le 20$, $0 \le y_i \le x_i$, $0 \le z_i < 998244353$, $(x_i < x_{i+1}) \lor (x_i = x_{i+1} \land y_i < y_{i+1})$.

Подзадачи

Подзадача Тесты $n \le$ $m \le$ $k =$
1 1, 2, 3, 4, 5, 6 $10^3$ $500$ $20$
2 7, 8, 9 $9 \times 10^8$ $10$ $20$
3 10, 11 $9 \times 10^8$ $10^2$ $0$
4 12, 13, 14 $9 \times 10^8$ $10^2$ $20$
5 15, 16, 17 $9 \times 10^8$ $500$ $20$
6 18 $9 \times 10^8$ $10^5$ $0$
7 19, 20 $9 \times 10^8$ $10^5$ $20$

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.