洛谷P3397 地毯(二維差分加暴力法)

題目難度:普及一
題目傳送門

地毯

題目描述

n × n n\times n n×n 的格子上有 m m m 個地毯。

給出這些地毯的信息,問每個點被多少個地毯覆蓋。

輸入格式

第一行,兩個正整數 n , m n,m n,m。意義如題所述。

接下來 m m m 行,每行兩個坐標 ( x 1 , y 1 ) (x_1,y_1) (x1?,y1?) ( x 2 , y 2 ) (x_2,y_2) (x2?,y2?),代表一塊地毯,左上角是 ( x 1 , y 1 ) (x_1,y_1) (x1?,y1?),右下角是 ( x 2 , y 2 ) (x_2,y_2) (x2?,y2?)

輸出格式

輸出 n n n 行,每行 n n n 個正整數。

i i i 行第 j j j 列的正整數表示 ( i , j ) (i,j) (i,j) 這個格子被多少個地毯覆蓋。

樣例 #1

樣例輸入 #1

5 3
2 2 3 3
3 3 5 5
1 2 1 4

樣例輸出 #1

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

提示

樣例解釋

覆蓋第一個地毯后:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

覆蓋第一、二個地毯后:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 2 2 2 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

覆蓋所有地毯后:

0 0 0 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 2 2 2 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

數據范圍

對于 20 % 20\% 20% 的數據,有 n ≤ 50 n\le 50 n50 m ≤ 100 m\le 100 m100

對于 100 % 100\% 100% 的數據,有 n , m ≤ 1000 n,m\le 1000 n,m1000

題目分析:這題數據太水,打暴力都能AC,時間復雜度為O(m*n^2)可以過。

暴力代碼:

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1100;int a[N][N];
int n,m;ll read()
{ll s=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}return s*f;
}int main() {n = read(),m = read();for(int i = 1; i <= m; i++){int x1 = read(), y1 = read(),x2 = read(),y2 = read();for(int x = x1; x <= x2; x++){for(int y = y1; y <= y2; y++) a[x][y]++;}}for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++)  cout<<a[i][j]<<' ';cout<<'\n';}	   return 0;
}
*下面介紹下法二:**二維差分***
代碼部分:```cpp#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1100;int a[N][N],b[N][N];
int n,m;void insert(int x1,int y1,int x2,int y2,int c)
{b[x1][y1] += c;b[x1][y2 + 1] -= c;b[x2 + 1][y1] -= c;b[x2 + 1][y2 + 1] += c;
}ll read()
{ll s=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}return s*f;
}int main() {n = read(),m = read();for(int i = 1; i <= m; i++){int x1 = read(), y1 = read(),x2 = read(),y2 = read();insert(x1,y1,x2,y2,1);}for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++)  {b[i][j] += b[i - 1][j] + b[i][j - 1]-b[i - 1][j - 1];cout<<b[i][j]<<' '; }cout<<'\n';}	   return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895193.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895193.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895193.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用OBS推流,大華攝像頭 srs服務器播放

說明&#xff1a; ffmpeg可以推流&#xff0c;但是是命令行方式不太友好&#xff0c;還可以使用主流的OBS開源推流軟件&#xff0c;可從官網Open Broadcaster Software | OBS 下載最新版本&#xff0c;目前很多網絡主播都是用它做直播。該軟件支持本地視頻文件以及攝像頭推流。…

從大規模惡意攻擊 DeepSeek 事件看 AI 創新隱憂:安全可觀測體系建設刻不容緩

作者&#xff1a;羿莉&#xff08;蕭羿&#xff09; 全球出圈的中國大模型 DeepSeek 作為一款革命性的大型語言模型&#xff0c;以其卓越的自然語言處理能力和創新性成本控制引領行業前沿。該模型不僅在性能上媲美 OpenAI-o1&#xff0c;而且在推理模型的成本優化上實現了突破…

mac下dify+deepseek部署,實現私人知識庫

目前deepseek 十分火爆&#xff0c;本地部署實現私有知識庫&#xff0c;幫助自己日常工作&#xff0c;上一篇使用工具cherry studio可以做到私人知識庫。今天學習了一下&#xff0c;使用Dify鏈接deepseek&#xff0c;實現私人知識庫&#xff0c;也非常不錯&#xff0c;這里分享…

C++性能優化—人工底稿版

C以高性能著稱&#xff0c;性能優化是C程序員繞不過去的一個話題&#xff0c;性能優化是一個復雜、全局而又細節的問題&#xff0c;本文總結C性能分析中常用的知識。 性能優化的時機 大部分關于性能優化的文章都強調&#xff1a;不要過早的進行性能優化。 C編碼層面 數據結…

react概覽webpack基礎

react概覽 課程介紹 webpack 構建依賴圖->bundle 首屏渲染&#xff1a; 減少白屏等待時間 數據、結構、樣式都返回。需要服務器的支持 性能優化 ***webpack干的事情 模塊化開發 優勢&#xff1a; 多人團隊協作開發 可復用 單例&#xff1a;全局沖突 閉包 模塊導入的順序 req…

ASP.NET Core SignalR實踐指南

Hub類的生命周期是瞬態的&#xff0c;每次調用集線器的時候都會創建一個新的Hub類實例&#xff0c;因此不要在Hub類中通過屬性、成員變量等方式保存狀態。如果服務器的壓力比較大&#xff0c;建議把ASP.NET Core程序和SignalR服務器端部署到不同服務器上&#xff0c;以免它們互…

常見的九種二極管

常見的九種二極管 文章目錄 常見的九種二極管1、普通二極管2、光電二極管&#xff08;LED&#xff09;3、變容二級管4、發光二極管5、恒流二極管6、快恢復二極管&#xff08;FRD&#xff09;7、肖特基二極管8、瞬態電壓抑制二極管(TVS)9、齊納二極管&#xff08;穩壓&#xff0…

LabVIEW在呼吸機測試氣體容量計算

在呼吸機測試中&#xff0c;精確測量氣體容量變化是評估設備性能的關鍵步驟。通過監測呼吸機氣道內的壓力變化&#xff0c;并結合流阻和肺順應性等參數&#xff0c;可以計算出單位時間內的氣體容量變化。本案例基于LabVIEW實現該計算過程&#xff0c;以確保測試數據的準確性和一…

本地部署DeepSeek R1 + 界面可視化open-webui

本地部署DeepSeek R1 界面可視化open-webui ollama是物理機本地安裝 open-webui是容器啟動 另外&#xff0c;用docker 部署ollama也很方便ollama docker 安裝部署ollama ollama官網 安裝 Linux上安裝: curl -fsSL https://ollama.com/install.sh | sh使用命令行管理 拉…

第四十九章:橫店之旅:穿越時空的歡樂時光

自黃山之行結束后&#xff0c;小冷一家又回歸到了忙碌而又溫馨的日常生活中。小冷在杭州灣研發總部的工作愈發忙碌&#xff0c;項目一個接著一個&#xff0c;時常需要加班加點&#xff0c;但每當他回到家中&#xff0c;看到小澤澤可愛的笑臉和小一充滿活力的身影&#xff0c;一…

Python3 ImportError: cannot import name ‘XXX‘ from ‘XXX‘

個人博客地址&#xff1a;Python3 ImportError: cannot import name XXX from XXX | 一張假鈔的真實世界 例如如下錯誤&#xff1a; $ python3 git.py Traceback (most recent call last):File "git.py", line 1, in <module>from git import RepoFile &quo…

使用C語言實現MySQL數據庫的增刪改查操作指南

使用C語言與MySQL數據庫進行交互,通常涉及使用MySQL提供的C API庫。這套API允許開發者在C/C++程序中執行SQL查詢,從而實現數據庫的增刪改查操作。下面,我將詳細介紹如何在C語言中實現這些基本操作。 準備工作 安裝MySQL開發庫:確保你的系統上安裝了MySQL服務器以及MySQL開發…

局域網使用Ollama(Linux)

解決局域網無法連接Ollama服務的問題 在搭建和使用Ollama服務的過程中&#xff0c;可能會遇到局域網內無法連接的情況。經過排查發現&#xff0c;若開啟了代理軟件&#xff0c;尤其是Hiddify&#xff0c;會導致此問題。這一發現耗費了我數小時的排查時間&#xff0c;希望能給大…

在CT107D單片機綜合訓練平臺上實現外部中斷控制LED閃爍

引言 在單片機開發中&#xff0c;外部中斷是一個非常重要的功能&#xff0c;它可以讓單片機在檢測到外部信號變化時立即做出響應。本文將詳細介紹如何在CT107D單片機綜合訓練平臺上使用外部中斷來控制LED燈的閃爍。我們將使用兩種不同的方式來實現這一功能&#xff1a;一種是在…

重磅發布!AI 驅動的 Java 開發框架:Spring AI Alibaba

*本文作者系阿里云云原生微服務技術負責人&#xff0c;Spring AI Alibaba 發起人彥林&#xff0c;望陶和隆基對可觀測和 RocketMQ 部分內容亦有貢獻。 * 摘要 隨著生成式 AI 的快速發展&#xff0c;基于 AI 開發框架構建 AI 應用的訴求迅速增長&#xff0c;涌現出了包括 Lang…

防御保護作業二

拓撲圖 需求 需求一&#xff1a; 需求二&#xff1a; 需求三&#xff1a; 需求四&#xff1a; 需求五&#xff1a; 需求六&#xff1a; 需求七&#xff1a; 需求分析 1.按照要求進行設備IP地址的配置 2.在FW上開啟DHCP功能&#xff0c;并配置不同的全局地址池&#xff0c;為…

react 路由配置:從入門到精通

前言 在現代Web開發中&#xff0c;React憑借其高效的組件化開發模式和虛擬DOM技術&#xff0c;已成為構建用戶界面的首選庫之一。然而&#xff0c;僅掌握React的核心概念并不足以應對復雜的單頁應用&#xff08;SPA&#xff09;開發需求。路由管理作為連接各個頁面、實現視圖切…

CPLD實現SPI通信

在 CPLD 中編寫 SPI 程序時,需根據具體需求(主/從設備、時鐘極性、數據位寬等)設計邏輯。以下提供一個 SPI 主控制器的 Verilog 實現示例,支持 模式 0(CPOL=0, CPHA=0),適用于控制外設(如 ADC、DAC、存儲器等)。 SPI 主控制器模塊設計(Verilog) 模塊功能 支持 8/16…

MapReduce簡單應用(三)——高級WordCount

目錄 1. 高級WordCount1.1 IntWritable降序排列1.2 輸入輸出格式1.3 處理流程 2. 代碼和結果2.1 pom.xml中依賴配置2.2 工具類util2.3 高級WordCount2.4 結果 參考 本文引用的Apache Hadoop源代碼基于Apache許可證 2.0&#xff0c;詳情請參閱 Apache許可證2.0。 1. 高級WordCo…

智慧機房解決方案(文末聯系,領取整套資料,可做論文)

智慧機房解決方案-軟件部分 一、方案概述 本智慧機房解決方案旨在通過硬件設備與軟件系統的深度整合&#xff0c;實現機房的智能化管理與服務&#xff0c;提升機房管理人員的工作效率&#xff0c;優化機房運營效率&#xff0c;確保機房設備的安全穩定運行。軟件部分包括機房管…