子矩陣的和 刷題筆記 {二維前綴和}

首先我們的目標是讓 s[i][j]表示為其左方和上方形成的矩陣所有元素的和

加上s[i-1][j]和s[i][j-1]后 s[i-1][j-1]部分重復了所以減去

最后加上a[i][j]即可完成目標?

s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];

然后看題目要求

要求x1,y1,x2,y2圍成的小正方形內的元素和

我們利用剛剛處理好的s[i][j]來操作

將是s[x2][y2]圈成的大正方形里面扣掉這兩塊

即s[x2][y1-1]和s[x1-1][y2]

最后加回去重復減去的s[x1-1][y1-1]即可?

所以式子為?s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1];

代碼

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1010;
int a[N][N],s[N][N];

int n,m,q;
int main(){
?? ?cin>>n>>m>>q;
?? ?for(int i=1;i<=n;i++)
?? ?{
?? ??? ?for(int j=1;j<=m;j++)
?? ??? ?{
?? ??? ??? ?cin>>a[i][j];
?? ??? ??? ?s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
?? ??? ?}
?? ?}
?? ?while(q--){
?? ??? ?int x1,y1,x2,y2;
?? ??? ?cin>>x1>>y1>>x2>>y2;
?? ??? ?cout<<s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1];?
?? ?}
?? ?
?? ?return 0;
}

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

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

相關文章

C/C++工程師面試題(數據庫篇)

索引的優缺點 索引是一種支持快速查找特定行的數據結構&#xff0c;如果沒有索引&#xff0c;就需要遍歷整個表進行查找。用于提高數據檢索的速度和效率。 好處&#xff1a; 提高檢索速度&#xff1a; 索引可以加快數據的檢索速度&#xff0c;因為它們允許數據庫系統直接定位到…

Revit-二開之立面視圖創建FilledRegion-(3)

在上一篇博客中介紹了FilledRegion的創建方法,這種方法通常只在平面視圖中適用,在三維視圖中也是無法創建的(目前研究的是這樣的,如果有其他方法,請賜教)。 本片文章介紹一個下在立面視圖中創建FilledRegion的方法,主要操作是在立面視圖中拾取一個點,然后以該點為原點,…

YOLOv5 項目:推理代碼和參數詳細介紹(detect)

1、前言 本章將介紹yolov5項目的推理函數&#xff0c;關于yolov5的下載和配置環境&#xff0c;參考上一篇文章&#xff1a; YOLOv5 項目&#xff1a;環境配置-CSDN博客 pycharm 中打開的推理模塊如紅框中所示 pycharm將conda新建的虛擬環境導入&#xff0c;參考 &#xff1a;…

快速模冪(c++題解)

題目描述 試求ab%n的值&#xff0c;其中a、b、n均為整數范圍內的數。 輸入格式 三個整數即a、b、n。 輸出格式 輸出結果。 樣例 樣例輸入 復制1 1 1樣例輸出 復制0 _____________________________________________________________________________ ok呀總算學到一個…

從 AI 的爆火聊聊用戶界面(UI)的演進

目錄 用戶界面的起源與發展 用戶界面的設計原則與趨勢 用戶界面未來的方向 小結 用戶界面&#xff08;User Interface&#xff0c;簡稱 UI&#xff09;是人與計算機系統交互的媒介&#xff0c;用戶可以通過用戶界面向計算機發送指令&#xff0c;同時計算機可以通過用戶界面…

面試 Java 基礎八股文十問十答第十五期

面試 Java 基礎八股文十問十答第十五期 作者&#xff1a;程序員小白條&#xff0c;個人博客 相信看了本文后&#xff0c;對你的面試是有一定幫助的&#xff01;關注專欄后就能收到持續更新&#xff01; ?點贊?收藏?不迷路&#xff01;? 1&#xff09;BIO, NIO, AIO 有什么…

簡單實現Transformer的自注意力

簡單實現Transformer的自注意力 關注{曉理紫|小李子}&#xff0c;獲取技術推送信息&#xff0c;如感興趣&#xff0c;請轉發給有需要的同學&#xff0c;謝謝支持&#xff01;&#xff01; 如果你感覺對你有所幫助&#xff0c;請關注我。 源碼獲取&#xff1a;VX關注并回復chatg…

二叉樹的右視圖,力扣

目錄 題目&#xff1a; 我們直接看題解吧&#xff1a; 快速理解解題思路小建議&#xff1a; 審題目事例提示&#xff1a; 解題方法&#xff1a; 解題分析&#xff1a; 解題思路&#xff1a; 代碼實現(DFS)&#xff1a; 代碼1&#xff1a; 補充說明&#xff1a; 代碼2&#xff1…

Vue.js中的$nextTick

其實目前在我現有的開發經歷中&#xff0c;我還沒有實際運用過$nextTick&#xff0c;今天在看書時&#xff0c;學習到了這個東西&#xff0c;所以做個筆記記錄一下。 一、$nextTick是什么&#xff1f; $nextTick 是 Vue提供的一個方法&#xff0c;用于在 DOM 更新之后執行回調…

AI:148-開發一種智能語音助手,能夠理解和執行復雜任務

??點擊這里跳轉到本專欄,可查閱專欄頂置最新的指南寶典~ ?????? 你的技術旅程將在這里啟航! 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶關鍵代碼,詳細講解供大家學習,希望…

淺談鉤子方法

何為鉤子方法 鉤子方法&#xff08;Hook methods&#xff09;是一種在面向對象編程中常用的設計模式&#xff0c;也被稱為模板方法模式。在這種模式中&#xff0c;父類定義了一個算法的框架&#xff0c;并且將一些步驟的實現延遲到子類中。子類可以通過重寫這些“鉤子方法”來改…

[技巧]Arcgis之圖斑四至點批量計算

前言 上一篇介紹了arcgis之圖斑四至范圍計算&#xff0c;這里介紹的圖斑四至點的計算及獲取&#xff0c;兩者之間還是有差異的。 [技巧]Arcgis之圖斑四至范圍計算 這里說的四至點指的是圖斑最東、最西、最南、最北的四個地理位置點坐標&#xff0c;如下圖&#xff1a; 四至點…

青山隱隱,敗葉蕭蕭

給定序列需滿足二個條件:本身是質數&#xff0c;相鄰二項之和仍為質數 首先一個偶數2*n不能通過2*k&#xff08;k取整數&#xff09;得到質數。 奇數2*n-12*k2*(nk)-1&#xff0c;可能得到質數 那么若序列中存在偶數&#xff0c;一定不滿足第一個條件&#xff08;特判0,2&am…

STM32進階筆記——復位、時鐘與滴答定時器

本專欄爭取每周三更新直到更新完成&#xff0c;期待大家的訂閱關注&#xff0c;歡迎互相學習交流。 目錄 一、復位1.1 軟件復位1.2 低功耗管理復位 二、時鐘2.1 系統時鐘(SYSCLK)選擇2.2 系統時鐘初始化 三、滴答定時器&#xff08;Systick&#xff09;3.1 SysTick部分寄存器3.…

部署bpmn項目實現activiti流程圖的在線繪制

本教程基于centos7.6環境中完成 github開源項目: https://github.com/Yiuman/bpmn-vue-activiti軟件&#xff1a;git、docker 1. 下載源代碼 git clone https://github.com/Yiuman/bpmn-vue-activiti.git2. 修改Dockerfile文件 聲明基礎鏡像&#xff0c;將項目打包&#xff…

EasyRecovery數據恢復軟件有什么優勢呢?

EasyRecovery數據恢復軟件具有以下優勢&#xff1a; 強大的恢復能力&#xff1a;EasyRecovery采用先進的掃描和恢復技術&#xff0c;能夠深度掃描存儲設備&#xff0c;尋找并恢復因各種原因丟失的數據。無論是誤刪除、格式化、分區損壞還是病毒感染&#xff0c;它都能提供有效…

設計模式(十一)策略模式

請直接看原文:設計模式&#xff08;十一&#xff09;策略模式_某移動支付系統在實現賬戶資金轉入和轉出時需要進行身份驗證,該系統為用戶提供了-CSDN博客 ----------------------------------------------------------------------------------------------------------------…

LeetCode01 - 35.搜索插入位置

一、題目要求 給定一個排序數組和一個目標值&#xff0c;在數組中找到目標值&#xff0c;并返回其索引。如果目標值不存在于數組中&#xff0c;返回它將會被按順序插入的位置。 請必須使用時間復雜度為 O(log n) 的算法 示例 1: 輸入: nums [1,3,5,6], target 5 輸出: 2示…

SpringMVC 學習(十一)之數據校驗

目錄 1 數據校驗介紹 2 普通校驗 3 分組校驗 4 參考文檔 1 數據校驗介紹 在實際的項目中&#xff0c;一般會有兩種校驗數據的方式&#xff1a;客戶端校驗和服務端校驗 客戶端校驗&#xff1a;這種校驗一般是在前端頁面使用 JS 代碼進行校驗&#xff0c;主要是驗證輸入數據…

文物預防性保護系統方案的需求分析

沒有文物保存環境監測&#xff0c;就不能實施有效的文物預防性保護。因此要建立文物預防性保護體系&#xff0c;一定要先有良好的文物狀態監測制度,進而進行科學有效的文物保護管理。所以,導入文物預防性保護監測與調控系統,首先就是要針對文物進行全年溫度、濕度、光照等關鍵參…