#P11763. [IAMOI R1] 家庭矛盾

[IAMOI R1] 家庭矛盾

题目背景

小 L 和小 C 发生了一些家庭矛盾,小 C 和小 L 徘徊在分手的边缘。

题目描述

小 L 和小 C 在一起生活的的每一天都可以用一个二元组 (ai,ci)(a_i,c_i) 表示。cic_i 要么是 00 ,要么是 11,代表这天小 L 和小 C 有没有吵架。而 aia_i 则是一个整数,代表这一天小 C 的心情值。

小 L 和小 C 正在同时进行 mm 场家庭战争。第 kk 场战争从第 lkl_k 天开始。

由于他们的战争非常激烈,你不知道他们在第几天会结束这场战争。但如果这场战争于第 rr 天结束,且从第 lkl_k 天到第 rr 天吵架的天数恰好为 dkd_k,那么这场战争就会给小 C 带来一定的怨气值。怨气值为第 lkl_k 天到第 rr 天小 C 心情值的逆序对个数。否则,小 C 的怨气值就为 00

现在,小 L 把这 nn 天的 (ai,ci)(a_i,c_i)mm 场战争的 lkl_kdkd_k 告诉了你。对于每场战争,小 L 希望知道对于所有可能的结束时间,小 C 的怨气值之和,以便他挽回和小 L 的感情。他会非常感激你的帮助,并给你 7420738134810mod126737420738134810 \bmod 12673 元作为感谢。

形式化题意

你有 nn 个二元组 (ai,ci)(a_{i},c_{i}),其中满足 ci{0,1}c_{i} \in \{0,1\}

现在有 mm 个询问,每次询问给出两个整数 lk,dkl_{k},d_{k},求:

r=lkn[(i=lkrci)=dk]i=lkrj=i+1r[aj<ai]\sum_{r=l_{k}}^{n} \left[\left(\sum_{i=l_{k}}^{r} c_{i}\right)=d_{k}\right] \sum_{i=l_{k}}^{r} \sum_{j=i+1}^{r} [a_{j}<a_{i}]

其中中括号内的式子若为真,则其值为 11,否则为 00

输入格式

第一行一个整数 nn,表示序列长度。

接下来 nn 行,每行两个整数 ai,cia_{i},c_{i},表示小 L 和小 C 在一起生活的第 nn 天的描述二元组。

然后一行一个整数 mm,表示战争的场数。

接下来 mm 行,每行两个整数 lk,dkl_{k},d_{k},代表一次战争。

输出格式

输出 mm 行,表示每次战争中,对于的所有可能的结束时间,小 C 的怨气值之和。

输入数据 1

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

输出数据 1

1
5

提示

样例解释 11

对于询问 11,只有区间 [3,4][3,4] 符合条件,所以答案为 11

对于询问 22,只有区间 [1,4][1,4] 符合条件,所以答案为 55

数据范围

测试点编号 n,mn,m\le 特殊性质
11 100100
2,32,3 10310^3
4,54,5 10510^5 A
686\sim8 B
9,109,10 CD
11,1211,12 5×1045\times10^4 C
13,1413,14 10510^5
151715\sim 17 D
182018\sim20 5×1045\times10^4
212521\sim25 10510^5

特殊性质 A:保证 ci=0c_i=0

特殊性质 B:保证 dk=1d_{k}=1

特殊性质 C:保证 ci=1c_i=1

特殊性质 D:保证询问中 k<m,lklk+1,dkdk+1\forall k<m,l_{k} \le l_{k+1},d_{k} \le d_{k+1}

对于 100%100\% 的数据,1n,m1051\le n,m\le10^51lkn1\le l_k\le n1ai1091\le a_i\le10^9ci{0,1}c_{i} \in \{0,1\}0dk1090\le d_k\le 10^9

保证此题的时空限制是标程的 2 倍及以上。