Rectangle GCD
题目描述
给定正整数 N 以及两个长度为 N 的正整数序列:A=(A1,A2,…,AN) 和 B=(B1,B2,…,BN)。
我们有一个 N×N 的网格。位于从上数第 i 行、从左数第 j 列的方格称为方格 (i,j)。对于所有满足 1≤i,j≤N 的整数对 (i,j),方格 (i,j) 上写着整数 Ai+Bj。处理 Q 个如下形式的查询。
给定整四元组 h1,h2,w1,w2,满足 1≤h1≤h2≤N,1≤w1≤w2≤N。求由左上角为 (h1,w1)、右下角为 (h2,w2) 的矩形区域内所有方格所含整数的最大公约数。
输入格式
输入从标准输入按以下格式给出:
N Q
A1 A2 … AN
B1 B2 … BN
query1
query2
⋮
queryQ
每个查询的格式如下:
h1 h2 w1 w2
输出格式
输出 Q 行。第 i 行应包含 queryi 的答案。
3 5
3 5 2
8 1 3
1 2 2 3
1 3 1 3
1 1 1 1
2 2 2 2
3 3 1 1
2
1
11
6
10
1 1
9
100
1 1 1 1
109
提示
1≤N,Q≤2×105
1≤Ai,Bi≤109
1≤h1≤h2≤N
1≤w1≤w2≤N
输入中的所有值均为整数。记 Ci,j 为方格 (i,j) 上的整数。
对于第 1 个查询,有 C1,2=4,C1,3=6,C2,2=6,C2,3=8,因此答案为它们的最大公约数,即 2。
标签: AtCoder|abc254F
来源
AtCoder|abc254F