QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#6960. 凑成 2

Statistiques

对于一个由 $n$ 个正整数组成的序列 $a$,你可以进行若干次以下操作:

  • 选择一个满足 $1 < i < n$ 且 $a_i > 1$ 的下标 $i$,将 $a_i$ 减去 $1$,并给 $a_{i-1}$ 和 $a_{i+1}$ 各加上 $1$。

如果一个由 $n$ 个正整数组成的序列可以通过若干次(可能为零次)上述操作,使得对于每个 $1 \le i \le n$ 都有 $a_i = 2$,则称该序列为“好的”。

现在你需要计算满足 $m$ 个约束的“好的”序列的数量。第 $i$ 个约束表示为一个二元组 $(x_i, y_i)$,要求 $a_{x_i} = y_i$。

可以证明答案是有限的。请输出答案对 $10^9 + 7$ 取模的结果。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。

对于每个测试用例,第一行包含两个整数 $n, m$ ($1 \le n \le 10^{18}, 0 \le m \le \min(n, 100)$)。

接下来的 $m$ 行,每行包含两个整数。第 $i$ 行包含 $x_i, y_i$ ($1 \le x_1 < x_2 < \dots < x_m \le n, 1 \le y_i \le 10^9$)。

输出格式

对于每个测试用例,输出一行,包含一个整数,表示答案对 $10^9 + 7$ 取模的结果。

样例

样例输入 1

3
3 1
2 2
5 2
1 2
5 1
114514 0

样例输出 1

1
2
158552999

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.