UOJ Logo Universal Online Judge

UOJ

#724. 【JOISC2022】错误拼写

附件下载 统计

从前,K 总统有着一个长度为 N 的字符串 S,仅由小写字母组成。然而,他忘记了它。

他还有一个词典,其中包含了各式各样的错误拼写。而他曾看过那本词典,现在他确认到 S 满足以下条件:

  • Ti (1iN)S 删去第 i 个字符并将前后字符相接所得的字符串。对于每个 j (1jM) 满足 TAjTBj

其中 TAjTBj 表示 TAj 等于 TBjTAj 在字典序上小于 TBj

请写一个程序,对于 K 总统给定的如上关于 S 的信息,输出可能的 S 的个数,对 109+7 取模。

输入格式

第一行,两个正整数 N,M,表示 S 的长度与限制的个数。

以下 M 行,其中第 j (1jM) 行包含两个正整数 Aj,Bj,表示一条限制。

输出格式

一行一个非负整数,表示可能的 S 的个数对 109+7 取模的结果。

样例一

input

3 2
1 3
3 2

output

5876

explanation

举例说明,若 S=bab,则 T1=ab,T2=bb,T3=ba。其满足 T1T3T3T2。所以该 S 是合法的。可以证明,总共有 5876 种合法的 S。因此,输出 5876

另一方面,若 S=aab,则 T1=ab,T2=ab,T3=aa。其不满足 T1T3。所以该 S 不合法。

该样例满足所有子任务的限制。

样例二

input

5 6
1 2
1 5
2 4
5 4
5 3
4 3

output

656981

explanation

这个样例满足子任务 1,2,4,5 的限制。

样例三

input

10 9
3 6
4 6
6 7
7 9
10 8
9 8
8 5
5 2
5 1

output

206289833

explanation

取模前的结果为 824206295601,所以输出 206289833

这个样例满足子任务 1,2,4,5 的限制。

样例四

input

7 6
1 3
3 4
4 6
6 5
5 7
7 2

output

7125651

explanation

这个样例满足所有子任务的限制。

样例五

input

5 4
2 4
4 3
3 5
5 1

output

61451

explanation

这个样例满足所有子任务的限制。

数据范围与提示

  • 2N500000
  • 1M500000
  • 1Ai,BiN (i[1,M])
  • AiBi (i[1,M])
  • (Ai,Bi)(Aj,Bj) (1i<jM)

Subtasks

  1. (8 points) N10
  2. (20 points) N200
  3. (29 points) M=N1,并且存在长度为 N 的排列 P 使得 Aj=Pj,Bj=Pj+1 (j[1,M])
  4. (32 points) N20000
  5. (11 points) 无特殊限制。

时间限制:3.5s4s

空间限制:1GB