题目背景
小 L 和小 C 发生了一些家庭矛盾,小 C 和小 L 徘徊在分手的边缘。
题目描述
小 L 和小 C 在一起生活的的每一天都可以用一个二元组 (ai,ci) 表示。ci 要么是 0 ,要么是 1,代表这天小 L 和小 C 有没有吵架。而 ai 则是一个整数,代表这一天小 C 的心情值。
小 L 和小 C 正在同时进行 m 场家庭战争。第 k 场战争从第 lk 天开始。
由于他们的战争非常激烈,你不知道他们在第几天会结束这场战争。但如果这场战争于第 r 天结束,且从第 lk 天到第 r 天吵架的天数恰好为 dk,那么这场战争就会给小 C 带来一定的怨气值。怨气值为第 lk 天到第 r 天小 C 心情值的逆序对个数。否则,小 C 的怨气值就为 0。
现在,小 L 把这 n 天的 (ai,ci) 和 m 场战争的 lk 和 dk 告诉了你。对于每场战争,小 L 希望知道对于所有可能的结束时间,小 C 的怨气值之和,以便他挽回和小 L 的感情。他会非常感激你的帮助,并给你 7420738134810mod12673 元作为感谢。
形式化题意
你有 n 个二元组 (ai,ci),其中满足 ci∈{0,1}。
现在有 m 个询问,每次询问给出两个整数 lk,dk,求:
r=lk∑n[(i=lk∑rci)=dk]i=lk∑rj=i+1∑r[aj<ai]其中中括号内的式子若为真,则其值为 1,否则为 0。
输入格式
第一行一个整数 n,表示序列长度。
接下来 n 行,每行两个整数 ai,ci,表示小 L 和小 C 在一起生活的第 n 天的描述二元组。
然后一行一个整数 m,表示战争的场数。
接下来 m 行,每行两个整数 lk,dk,代表一次战争。
输出格式
输出 m 行,表示每次战争中,对于的所有可能的结束时间,小 C 的怨气值之和。
提示
样例解释 1
对于询问 1,只有区间 [3,4] 符合条件,所以答案为 1。
对于询问 2,只有区间 [1,4] 符合条件,所以答案为 5。
数据范围
测试点编号 |
n,m≤ |
特殊性质 |
1 |
100 |
无 |
2,3 |
103 |
4,5 |
105 |
A |
6∼8 |
B |
9,10 |
CD |
11,12 |
5×104 |
C |
13,14 |
105 |
15∼17 |
D |
18∼20 |
5×104 |
无 |
21∼25 |
105 |
特殊性质 A:保证 ci=0。
特殊性质 B:保证 dk=1。
特殊性质 C:保证 ci=1。
特殊性质 D:保证询问中 ∀k<m,lk≤lk+1,dk≤dk+1。
对于 100% 的数据,1≤n,m≤105,1≤lk≤n,1≤ai≤109,ci∈{0,1},0≤dk≤109。
保证此题的时空限制是标程的 2 倍及以上。