QOJ.ac

QOJ

時間限制: 2.0 s 記憶體限制: 256 MB 總分: 100

#14135. 覆盆子 2

统计

你的避暑别墅庭院是一个四周被围栏包围的矩形区域。该区域被划分为 $2$ 行 $n$ 列大小为 $1 \times 1$ 的正方形区域。

在其中 $k$ 个正方形区域的中心生长着覆盆子植株,每株植株有四根茎。其他正方形区域是空的。你想把这些植株系到围栏上(作为一个园丁,你自然有你自己的理由这么做)。

要系住一株植株,你可以将其茎沿地面拉成一条直线伸向围栏,并系在对应的围栏段上。你只能沿平行于围栏的方向(上、下、左、右)拉伸茎。这样的茎被称为活跃的(active)。

一个系绳配置(tying configuration)是指一组将植株与围栏连接起来的活跃的茎。每株植株可以被连接多次,也可以完全不连接。

如果满足以下条件之一,我们称一个系绳配置是不稳定的(unstable):

  • 某根茎压在了一株植株上(该茎自身所属的植株除外);
  • 或者,某根茎与其他任何茎有公共点(两根茎源于同一植株的情况除外)。

所有其他配置都是稳定的(stable)。

几年前,你找到了能系住最多植株数量的最优配置。但今天,你问了自己一个不同的问题:稳定配置的总数是多少?由于这个数量可能很大,请将其对 $998\,244\,353$ 取模后输出。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 10^4$)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 10^9$,$1 \le k \le \min(10^6, 2 \cdot n)$):表示庭院的大小和覆盆子植株的数量。

接下来的 $k$ 行,每行包含两个整数 $r_i$ 和 $c_i$($1 \le r_i \le 2$,$1 \le c_i \le n$):表示含有覆盆子植株的正方形区域的行号和列号。每个测试用例中,每个数对 $(r_i, c_i)$ 最多出现一次。

所有测试用例中 $k$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例,输出一个整数:稳定配置的总数。由于这个数量可能很大,请将其对 $998\,244\,353$ 取模后输出。

样例

输入样例 1

2
3 2
1 1
2 3
1 2
1 1
2 1

输出样例 1

144
64

说明

我们为样例提供了三幅插图:

第一个测试用例的稳定配置

第一个测试用例的不稳定配置。两根茎相交

第二个测试用例的不稳定配置。来自下方覆盆子植株的茎穿过了另一株覆盆子植株

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.