QOJ.ac

QOJ

时间限制: 2 s 内存限制: 256 MB 总分: 100

#10968. 懒惰排序

统计

Farmer John 有 $N$ 头奶牛($2 \leq N \leq 5\cdot 10^6$),他试图利用奶牛的懒惰来对一个长度为 $N$ 的非负整数数组 $A$ 进行排序。他有很多沉重的箱子,于是他让奶牛们排成一队,奶牛 $i+1$ 在奶牛 $i$ 后面,并给奶牛 $i$ 分配了 $a_i$ 个箱子($0\le a_i$)。

奶牛天生懒惰,总是想把工作推给别人。从奶牛 $1$ 到 $N-1$ 依次进行,每头奶牛都会观察身后的奶牛。如果奶牛 $i$ 手中的箱子数量严格多于奶牛 $i+1$,奶牛 $i$ 会认为这“不公平”,并将其中的一个箱子交给奶牛 $i+1$。这个过程会一直重复,直到每头奶牛都感到满意为止。

Farmer John 随后会记录每头奶牛 $i$ 持有的箱子数量 $b_i$,并由此组成数组 $B$。如果 $B = sorted(A)$,那么 Farmer John 就会感到满意。不幸的是,Farmer John 只记得 $A$ 中 $Q$ 个值($2 \leq Q \leq \min(N, 100)$)。幸运的是,这些值包括了他最初分配给第一头和最后一头奶牛的箱子数量。FJ 记得的每个值都以 $c_i \; v_i$ 的形式给出,表示 $a_{c_i}=v_i$($1 \leq c_i \leq N$,$1\le v_i\le 10^9$)。请计算有多少种填充缺失值的方法,使得他最终感到满意,结果对 $10^9+7$ 取模。

输入格式

第一行包含两个空格分隔的整数 $N$ 和 $Q$,分别表示奶牛的数量和已知值的数量。

接下来的 $Q$ 行,每行包含两个空格分隔的整数 $c_i \; v_i$,表示第 $c_i$ 头奶牛最初持有 $v_i$ 个箱子。保证 $c_1 = 1$,$c_Q = N$,且 $c_i < c_{i+1}$(奶牛的编号严格递增)。

输出格式

输出在奶牛完成懒惰排序后,使得 Farmer John 满意的 $a_i$ 赋值方案数,结果对 $10^9+7$ 取模。保证至少存在一种合法的赋值方案。

样例

样例输入 1

3 2
1 3
3 2

样例输出 1

2

样例输入 2

6 3
1 1
3 3
6 5

样例输出 2

89

数据范围

  • 输入 3-4:$N,v_i\le 100$
  • 输入 5-6:$N\le 100$ 且 $v_i \leq 10^6$
  • 输入 7-9:$N \leq 2\cdot 10^5$ 且 $v_i \le 10^6$
  • 输入 10-12:$N \leq 2\cdot 10^5$
  • 输入 13-15:无额外限制。

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.