luogu#P10813. 【MX-S2-T4】换

【MX-S2-T4】换

题目描述

给定 n,Vn,V 和一个长为 mm 的序列 (p1,q1),(p2,q2),,(pm,qm)(p_1,q_1),(p_2,q_2),\dots,(p_m,q_m)

请求出有多少长度为 nn 的正整数序列 aa,其所有元素 aia_i 满足 1aiV1\le a_i\le V,将其按 k=1,2,,mk=1,2,\dots,m 依次执行如下操作后,aa 不降:

  • apk>aqka_{p_k}>a_{q_k},则交换 apka_{p_k}aqka_{q_k} 的值。

答案对 109+710^9+7 取模。

输入格式

第一行三个整数 n,V,mn,V,m

接下来 mm 行,每行两个整数 pk,qkp_k,q_k

输出格式

一行一个整数,表示答案对 109+710^9+7 取模后的结果。

3 3 5
3 2
1 3
1 2
2 3
2 1
12
8 900000754 20
5 5
1 2
3 2
1 8
4 8
5 8
3 4
3 7
5 7
3 4
6 8
1 5
7 8
7 8
5 7
1 8
3 8
3 8
5 6
3 8

508510094

提示

【样例解释 #1】

对于第一组样例,有以下 1212 种符合条件的序列:

{1,1,1}\{1,1,1\}{1,1,2}\{1,1,2\}{1,1,3}\{1,1,3\}{1,2,1}\{1,2,1\}{1,3,1}\{1,3,1\}{2,1,1}\{2,1,1\}{2,2,2}\{2,2,2\}{2,2,3}\{2,2,3\}{2,3,2}\{2,3,2\}{3,1,1}\{3,1,1\}{3,2,2}\{3,2,2\}{3,3,3}\{3,3,3\}

【数据范围】

本题采用捆绑测试。

  • Subtask 0(8 pts):n6n\le6V8V\le 8m50m \le 50
  • Subtask 1(31 pts):n8n \le 8
  • Subtask 2(37 pts):n15n \le 15
  • Subtask 3(24 pts):无特殊限制。

对于所有测试数据,1n181\le n\le 181V1091\le V\le 10^91m5001\le m\le 5001pk,qkn1\leq p_k,q_k\leq n,注意不保证 pkp_kqkq_k 的大小关系,且数据可能存在 pk=qkp_k=q_k