【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頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...