牛客寒假6-E.海嘯
阿新 • • 發佈:2019-02-05
二維前綴和 題意 com space mes namespace 二維 sin true
鏈接:https://ac.nowcoder.com/acm/contest/332/E
題意:
有一個沿海地區,可以看作有n行m列的城市,第i行第j列的城市海拔為h[i][j]。
由於沿海,所以這個地區經常會發生海嘯。
海嘯發生時,部分城市會被淹沒,具體來說,海水高度會達到d,因此海拔低於d的城市都會被淹沒。
現在有q次詢問,每次問你一個矩形區域中,有多少城市不會被淹沒。
思路:
二維前綴和
代碼:
#include <bits/stdc++.h> using namespace std; int main() { int n, m, d; int x; cin >> n >> m >> d; int res[n+1][m+1]; for (int i = 0;i <= m;i++) res[0][i] = 0; for (int i = 0;i <= n;i++) res[i][0] = 0; for (int i = 1;i <= n;i++) { for (int j = 1; j <= m; j++) { cin >> x; int v = 0; if (x >= d) v = 1; res[i][j] = res[i][j - 1] + res[i - 1][j] - res[i - 1][j - 1] + v; } } int q; int x1,x2,y1,y2; cin >> q; for (int i = 1;i <= q;i++) { cin >> x1 >> y1 >> x2 >> y2; cout << res[x2][y2] - res[x2][y1-1] - res[x1-1][y2] + res[x1-1][y1-1] << endl; } return 0; }
牛客寒假6-E.海嘯