CJX的方格纸

CJX的方格纸

暂无测试数据。

本题暂无测试数据

【题目描述】

方格纸与草稿纸一样,都是算法竞赛中不可或缺的重要工具。身经百战的CJX自然也会随身带着方格纸。
CJX的方格纸有 n 行 m 列,一共 n × m 个方格,从上到下依次标记为第 1, 2, ..., n 行,从左到右依次标记为第 1, 2, ..., m 列,方便起见,CJX称第 i 行第 j 列的方格为 (i, j)。
CJX在方格纸中填满了数字,每个格子中都恰好有一个整数 ai,j。CJX不喜欢手算,因此每当他不想计算时,他就会让你帮忙计算。
CJX一共会给出 q 个询问,每次给定一个方格 (x, y) 和一个整数 k(1 ≤ k ≤ min(x, y)),你需要回答由 (x, y),(x − k + 1, y),(x, y − k + 1)三个格子构成的三角形边上以及内部的所有格子的 a 的和。

【输入格式】

第一行包含 6 个正整数 n, m, q, A, B, C
其中 n, m 表示方格纸的尺寸,q 表示询问个数。
为了防止输入数据过大,a 和询问将由以下代码生成:

unsigned int A,B,C;
inline unsigned int rng61(){
    A ^= A << 16;
    A ^= A >> 5;
    A ^= A << 1;
    unsigned int t = A;
    A = B;
    B = C;
    C ^= t ^ A;
    return C;
}
int main(){
    scanf(”%d%d%d%u%u%u”, &n, &m, &q, &A, &B, &C);
    for(i = 1; i <= n; i++)
    for(j = 1; j <= m; j++)
    a[i][j] = rng61();
    for(i = 1; i <= q; i++){
    x = rng61() % n + 1;
    y = rng61() % m + 1;
    k = rng61() % min(x, y) + 1;
    }
}

【输出格式】

为了防止输出数据过大,设 fi 表示第 i 个询问的答案,则你需要输出一行一个整数,即:
jis

【样例输入】

3 4 5 2 3 7

【样例输出】

3350931807

【数据范围】

对于全部数据:1 ≤ n, m ≤ 3000, 1 ≤ q ≤ 3000000, 1 ≤ A, B, C ≤ 1000000

【限制】

本题时间限制10s,空间限制256MB(256000KB)。
共?个测试点,每个?分,忽略多余空格和换行。

信息

难度
(无)
分类
(无)
标签
递交数
0
已通过
0
通过率
?
上传者