題目描述
在n * n的格仔上有m個地毯。
給出這些地毯的資訊,問每個點被多少個地毯覆蓋。
輸入格式
第一行,兩個正整數n、m。意義如題所述。
接下來m行,每行兩個座標(x1,y1)和(x2,y2),代表一塊地毯,左上角是(x1,y1),右下角是(x2,y2)。
輸出格式
輸出n行,每行n個正整數。
第i行第j列的正整數表示(i,j)這個格仔被多少個地毯覆蓋。
輸入輸出樣例
輸入
5 3輸出2 2 3 3
3 3 5 5
1 2 1 4
0 1 1 1 0暴力好像能過,這裡用二維差分寫的0 1 1 0 0
0 1 2 1 1
0 0 1 1 1
0 0 1 1 1
#include
using
namespace std;
const
int inf=
0x3f3f3f3f
;const
int maxn=
2e3+
100;
int n,m;
int v[maxn]
[maxn]
,sum[maxn]
[maxn]
;int
main()
/*二維差分 */
for(
int i=
1;i<=n;i++)}
for(
int i=
1;i<=n;i++
) cout<}system
("pause");
return0;
}
P3397 地毯(二維差分)
題意 在乙個n n的地圖中,有m張地毯,每張矩形地毯的左上角和右下角已知,輸出最後整個地圖的每個點有多少張地毯覆蓋。思路 二維差分很明顯。二維字首和 二維線段樹也可以做。我們首先要用乙個陣列,記錄變化。對於 x1,y1 到 x2,y2 這一區間全部加1的話,我們需要a x1 y1 1,a x2 1 ...
洛谷 P3397 地毯 二維差分標記
題目背景 此題約為noip提高組day2t1難度。題目描述 在n n的格仔上有m個地毯。給出這些地毯的資訊,問每個點被多少個地毯覆蓋。輸入輸出格式 輸入格式 第一行,兩個正整數n m。意義如題所述。接下來m行,每行兩個座標 x1,y1 和 x2,y2 代表一塊地毯,左上角是 x1,y1 右下角是 x...
P3397 地毯 差分
題目背景 此題約為noip提高組day2t1難度。題目描述 在 n nn times nn n 的格仔上有 mmm 個地毯。給出這些地毯的資訊,問每個點被多少個地毯覆蓋。輸入格式 第一行,兩個正整數 n,mn,mn,m。意義如題所述。接下來 mmm 行,每行兩個座標 x1,y1 x 1,y 1 x1...