问题6787--比赛(match)

6787: 比赛(match)

[命题人 : ]
时间限制 : 2.000 sec  内存限制 : 512 MiB

题目描述

【题目描述】

N 和小 O 会在 2022 11 月参加一场盛大的程序设计大赛 NOIP! P 会作为裁判主持竞赛。小 N 和小 O 各自率领了一支 n 个人的队伍,选手在每支队伍内都是从1 n 编号。每一个选手都有相应的程序设计水平。具体的,小 N 率领的队伍中,编号为 i (1 ≤ i ≤ n) 的选手的程序设计水平为 ai;小 O 率领的队伍中,编号为 i (1 ≤ i ≤ n)的选手的程序设计水平为 bi。特别地,{ai} {bi} 还分别构成了从 1 n 的排列。

每场比赛前,考虑到路途距离,选手连续参加比赛等因素,小 P 会选择两个参数l, r (1 ≤ l ≤ r ≤ n),表示这一场比赛会邀请两队中编号属于 [l, r] 的所有选手来到现场准备比赛。在比赛现场,小 N 和小 O 会以掷骰子的方式挑选出参数 p, q (l ≤ p ≤ q ≤ r),只有编号属于 [p, q] 的选手才能参赛。为了给观众以最精彩的比赛,两队都会派出编号

[p, q] 内的、程序设计水平值最大的选手参加比赛。假定小 N 排出的选手水平为 ma,小 O 派出的选手水平为 mb,则比赛的精彩程度为 ma × mb

NOIP 总共有 Q 场比赛,每场比赛的参数 l, r 都已经确定,但是 p, q 还没有抽取。小 P 想知道,对于每一场比赛,在其所有可能的 p, q (l ≤ p ≤ q ≤ r) 参数下比赛的精彩程度之和。由于答案可能非常之大,你只需要对每一场比赛输出答案对 2^64 取模的结果即可。

【输入格式】

从文件 match.in 中读入数据。

第一行包含两个正整数 T, n,分别表示测试点编号和参赛人数。如果数据为样例则保证 T = 0

第二行包含 n 个正整数,第 i 个正整数为 ai,表示小 N 队伍中编号为 i 的选手的程序设计水平。

第三行包含 n 个正整数,第 i 个正整数为 bi,表示小 O 队伍中编号为 i 的选手的程序设计水平。

第四行包含一个正整数 Q,表示比赛场数。

接下来的 Q 行,第 i 行包含两个正整数 li, ri,表示第 i 场比赛的参数 l, r

【输出格式】

输出到文件 match.out 中。

输出 Q 行,第 i 行包含一个非负整数,表示第 i 场比赛中所有可能的比赛的精彩程度之和对 2^64 取模的结果。

【样例 1 输入】

0 2

2 1

1 2

1

1 2

【样例 1 输出】

8

【样例 1 解释】

p = 1, q = 2 的时候,小 N 会派出 1 号选手,小 O 会派出 2 号选手,比赛精彩程度为 2 × 2 = 4

p = 1, q = 1 的时候,小 N 会派出 1 号选手,小 O 会派出 1 号选手,比赛精彩程度为 2 × 1 = 2

p = 2, q = 2 的时候,小 N 会派出 2 号选手,小 O 会派出 2 号选手,比赛精彩程度为 1 × 2 = 2.

【样例 2

见选手目录下的 match/match2.in match/match2.ans

该样例满足测试点 1 ∼ 2 的限制。

【样例 3

见选手目录下的 match/match3.in match/match3.ans

该样例满足测试点 3 ∼ 5 的限制。

【子任务】

对于所有数据,保证:1 ≤ n, Q ≤ 2.5 × 10^5,1 ≤ li ≤ ri ≤ n,1 ≤ ai, bi ≤ n {ai} {bi} 分别构成了从 1 n 的排列。

测试点

n

Q

特殊性质 A

特殊性质 B

1,2

≤ 30

≤ 30



3,4,5

3000

5

6,7

10^5

8,9

2.5×10^5

10,11

10^5



12,13

2.5×10^5

14,15

10^5

10^5



16,17

2.5×10^5

2.5×10^5

18,19

10^5

10^5


20,21

2.5×10^5

2.5×10^5

22,23

10^5

10^5


24,25

2.5×10^5

2.5×10^5

特殊性质 A: 保证 a 是均匀随机生成的 1 ∼ n 的排列。

特殊性质 B: 保证 b 是均匀随机生成的 1 ∼ n 的排列。

 

来源/分类