题目名称 1815. [国家集训队2012]矩形计算
输入输出 nt2012_rec.in/out
难度等级 ★★★
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatarcstdio 于2014-11-12加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:2, 提交:3, 通过率:66.67%
GravatarSliverN 100 8.214 s 4.45 MiB C++
Gravatar~玖湫~ 100 16.457 s 3.12 MiB C++
GravatarFutureGazer 95 16.408 s 4.04 MiB C++
关于 矩形计算 的近10条评论(全部评论)
二维莫队。。。
只觉得自己打得太丑了(榜上那位好优美)
%%%(果断换板子)
Gravatar~玖湫~
2017-10-02 07:50 1楼

1815. [国家集训队2012]矩形计算

★★★   输入文件:nt2012_rec.in   输出文件:nt2012_rec.out   简单对比
时间限制:2 s   内存限制:256 MiB
矩形计算(钟沛林)
时间限制:2.0s   内存限制:256.0M

【问题描述】

输入一个n*m的矩阵,矩阵的每一个元素都是一个整数,然后有q个询问,每次询问一个子矩阵的权值。矩阵的权值是这样定义的,对于一个整数x,如果它在该矩阵中出现了p次,那么它给该矩阵的权值就贡献p2

【输入格式】

第一行两个整数n,m表示矩阵的规模。
接下来n行每行m个整数,表示这个矩阵的每个元素。
再下来一行一个整数q,表示询问个数。
接下来q行每行四个正整数x1,y1,x2,y2,询问以第x1行第y1列和第x2行第y2列的连线为对角线的子矩阵的权值。

【输出格式】

输出q行每行一个整数回答对应询问。

【样例输入】

3 4
1 3 2 1
1 3 2 4
1 2 3 4
8
1 2 2 1
1 1 2 1
1 1 3 4
1 1 1 1
2 2 3 3
3 4 2 2
1 3 3 1
2 4 3 4

【样例输出】

8
4
38
1
8
12
27
4

【数据规模和约定】

对于全部数据
1<=n,m<=200
q<=100000
|矩阵元素大小|<=2*109
case1
3 3
-1 1 2
-1 -1 1
10 2 1
3
1 3 3 1
1 3 2 2
2 1 3 2
case2
n<=10,m<=10,q<=100000
case3
n<=100,m<=100,q<=5000
case4
n<=200,m<=200,q<=1000
case5
n<=200,m<=200,q<=1000
case6
n<=200,m<=200,q<=1000
case7
n<=100,m<=100,q<=50000
原矩阵中的不同元素不超过200
case8
n<=100,m<=100,q<=50000
原矩阵中的不同元素不超过200
case9
n<=100,m<=100,q<=50000
原矩阵中的不同元素不超过200
case10
n<=200,m<=200,q<=100000
原矩阵中的不同元素不超过200
case11
n<=200,m<=200,q<=100000
原矩阵中的不同元素不超过200
case12
n<=200,m<=200,q<=100000
原矩阵中的不同元素不超过200
case13
n<=100,m<=100,q<=100000
case14
n<=100,m<=100,q<=100000
case15
n<=200,m<=200,q<=100000
case16
n<=200,m<=200,q<=100000
case17
n<=200,m<=200,q<=100000
case18
n<=200,m<=200,q<=100000
case19
n<=200,m<=200,q<=100000
case20
n<=200,m<=200,q<=100000