bzoj#P3814. 简单回路

简单回路

题目描述

在一个有障碍点的 nnmm 列的网格图中,我们用 (x,y)(x,y) 来表示第 xx 行第 yy 列的格子。如果该网格图中的回路满足下面两个条件:

  • 不经过任何一个障碍点;

  • 回路不自交。

则我们称该回路为合法的简单回路。

现在有 qq 个询问,每次询问有多少条合法的简单回路经过了 (a,b)(a,b)(a+1,b)(a+1,b) 之间的边。

输入格式

第一行输入三个非负整数 n,m,kn,m,k,表示 nnmm 列的网格图中有 kk 个障碍点。

接下来 kk 行,每行两个正整数 x,yx,y,表示 (x,y)(x,y) 为一个障碍点(可能重复)。

接下来一个整数 qq,表示 qq 个询问。

接下来 qq 行,每行两个正整数 a,ba,b,询问有多少条合法的简单回路经过了格子 (a,b)(a,b)(a+1,b)(a+1,b) 之间的边。

输出格式

qq 行,每行对应一组询问答案对 109+710^9+7 取模后的值。

4 4 4
2 2
2 4
3 2
4 4
4
1 1
1 4
3 3
2 2
1
0
1
0

数据规模与约定

对于 100%100\% 的数据,1n1031\leq n\leq 10^31m61\leq m\leq 61k1001\leq k\leq 1001q1041\leq q\leq 10^41xn1\leq x\leq n1ym1\leq y\leq m1a<n1\leq a<n1bm1\leq b\leq m

来源

20152015 年国家集训队测试。