洛谷P3397 地毯 二維字首和

2021-10-22 05:48:22 字數 741 閱讀 2100

題目鏈結

本文再次講解二維字首和。

首先我們來看一維字首和。

給定乙個序列,在序列上進行區間加減,怎麼做呢?

我們需要引入差分陣列。

例如原序列為[0,0,0,0,0,0,0]

在[1,3]上加1,則差分陣列上就變成了[0,1,0,0,-1,0,0]

然後對差分陣列求字首和,我們發現,其字首和陣列為[0,1,1,1,0,0,0]。

其結果正是對原序列在[1,3]上加1 

於是我們可以得出乙個結論,區間加減可以使用差分的思想,而差分陣列的字首和就是原陣列

再來看二維字首和。

二維字首和與一維字首和有一些不同之處:二維陣列上的差分是從左上到右下,而二維陣列的字首和是右下到左上。

如果可以理解這句話的含義,那麼**寫起來就沒有什麼問題了。

直接看**吧:

#include #include #include using namespace std;

const int maxn = 1010;

int mp[maxn][maxn],cf[maxn][maxn];

int main()

for(int i=1;i<=n;i++)

printf("\n");

}return 0;

}

洛谷 P3397 地毯

此題約為noip提高組day2t1難度。在n n的格仔上有m個地毯。給出這些地毯的資訊,問每個點被多少個地毯覆蓋。輸入格式 第一行,兩個正整數n m。意義如題所述。接下來m行,每行兩個座標 x1,y1 和 x2,y2 代表一塊地毯,左上角是 x1,y1 右下角是 x2,y2 輸出格式 輸出n行,每行...

洛谷 P3397 地毯

此題約為noip提高組day2t1難度。在 n times n 的格仔上有 m 個地毯。給出這些地毯的資訊,問每個點被多少個地毯覆蓋。第一行,兩個正整數 n,m 意義如題所述。接下來 m 行,每行兩個座標 x 1,y 1 和 x 2,y 2 代表一塊地毯,左上角是 x 1,y 1 右下角是 x 2,...

洛谷 P3397 地毯(二維差分)

題目描述 在n n的格仔上有m個地毯。給出這些地毯的資訊,問每個點被多少個地毯覆蓋。輸入格式 第一行,兩個正整數n m。意義如題所述。接下來m行,每行兩個座標 x1,y1 和 x2,y2 代表一塊地毯,左上角是 x1,y1 右下角是 x2,y2 輸出格式 輸出n行,每行n個正整數。第i行第j列的正整...