洛谷 P3397 地毯(二維差分)

2021-10-07 06:43:08 字數 942 閱讀 6716

題目描述

在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...