歡迎使用CSDN markdown編輯器

2021-09-30 13:48:03 字數 1030 閱讀 4175

【2017.7.12普及】square

題目描述

今天小d在他的課桌上玩方格紙,現在有乙個平面直角座標系,小d將方塊紙放在這個座標系中,並且方格紙的都與x軸、y軸平行,小d在這上面放了許多的方格紙,然後想知道對於平面直角座標系中的乙個點有多少個方格紙覆蓋(包括方格紙的邊和點),因為方格紙太多了,所以請聰明的你幫小d解決問題。

輸入第一行 乙個正整數n,接下來n行 每行四個正整數x1,y1,x2,y2,分別表示方格紙左下角的座標和右上角的座標。

第n+2行乙個正整數q,接下來q行 每行兩個正整數x,y,表示詢問點的座標。

輸出一共q行,表示對應座標。

樣例輸入

3 1 1 5 5

2 2 6 6

3 1 4 3

2 2 2

4 3樣例輸出

2 3

解析:

這題用暴力肯定炸 正解是用差分思想 把每個點的字首和求出來(就是每個點被覆蓋的層數)

例如:一張方格紙左下角(0,0)右上角(1,1)

,對於這張方格紙需要變成這樣

字首和後就可以變成所需要的。

時間複雜度 o(n+q+max x2*max y2)。

#include

#include

#include

using namespace std;

long long int n,x1,x2,y1,y2,q,x,y,m,f[3010][3010],maxx=-1,maxy=-1;

int main()

for(int i=1;i<=maxx+1;i++) }

cin>>m;

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

return 0;

}

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...