Codeforces Round 997 (Div. 2) |
---|
Закончено |
Множество $$$A$$$, состоящее из попарно различных отрезков $$$[l, r]$$$ с целочисленными концами, называется хорошим, если $$$1\le l\le r\le n$$$, и для любой пары различных отрезков $$$[l_i, r_i], [l_j, r_j]$$$ из $$$A$$$ выполняется ровно одно из следующих условий:
Вам дано хорошее множество $$$S$$$, состоящее из $$$m$$$ попарно различных отрезков $$$[l_i, r_i]$$$ с целочисленными концами. Вы хотите добавить как можно больше дополнительных отрезков к набору $$$S$$$, так, чтобы набор $$$S$$$ остался хорошим.
Поскольку эта задача слишком проста, вам нужно определить количество различных способов добавления максимального числа дополнительных отрезков к $$$S$$$, так, чтобы набор остался хорошим. Два способа считаются разными, если существует отрезок, который добавляется одним из способов, но не другим.
Формально, вам нужно найти количество хороших наборов различных отрезков $$$T$$$, таких, чтобы $$$S$$$ было подмножеством $$$T$$$, и $$$T$$$ имело максимально возможный размер. Поскольку ответ может быть очень большим, вычислите его по модулю $$$998\,244\,353$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$0 \le m \le 2 \cdot 10^5$$$) — максимальный правый конец отрезка и размер $$$S$$$.
$$$i$$$-я из следующих $$$m$$$ строк содержит два целых числа $$$l_i$$$ и $$$r_i$$$ ($$$1 \le l_i \le r_i \le n$$$) — границы отрезков в наборе $$$S$$$
Гарантируется, что данное множество $$$S$$$ является хорошим, и отрезки в множестве $$$S$$$ попарно различны.
Гарантируется, что как сумма $$$n$$$, так и сумма $$$m$$$ по всем наборам входных данных не превосходят $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — количество различных способов, которыми вы можете добавить максимальное количество дополнительных отрезков к набору $$$S$$$, гарантируя при этом, что набор $$$S$$$ останется хорошим, по модулю $$$998\,244\,353$$$
61 02 31 12 21 25 21 32 34 11 16 21 34 62300 0
1 1 2 5 4 187997613
В первом наборе входных данных единственным возможным отрезком является $$$[1, 1]$$$, поэтому $$$T = \{[1, 1]\}$$$ имеет максимальный размер, и это единственное решение.
Во втором наборе входных данных невозможно добавить какие-либо дополнительные отрезки к набору $$$S$$$. Следовательно, единственный способ добавить отрезки к $$$S$$$ — это ничего не добавлять.
В третьем наборе входных данных можно добавить $$$7$$$ дополнительных отрезков к $$$S$$$, гарантируя, что набор останется хорошим. Можно доказать, что добавление более $$$7$$$ дополнительных отрезков к $$$S$$$ невозможно. Существует ровно $$$2$$$ различных способа добавить эти $$$7$$$ отрезков к $$$S$$$, и соответствующие наборы $$$T$$$ показаны ниже:
В четвертом наборе входных данных существует ровно $$$5$$$ различных способов добавить максимум $$$6$$$ дополнительных отрезков к $$$S$$$, соответствующие наборы $$$T$$$ показаны ниже:
Название |
---|