小秋的矩陣

0小秋的矩陣 - 藍橋云課

問題描述

給你一個 n 行 m 列只包含 0 和 1 的矩陣,求它的所有子矩陣中,是方陣而且恰好包含 k 個 0 的數量。

方陣是行數和列數相等的矩陣。

子矩陣是從一個矩陣當中選取某些行和某些列交叉位置所組成的新矩陣(保持行與列的相對順序),被稱為原矩陣的一個子矩陣。

輸入格式

第 1 行輸入 3 個整數 n, m, k,表示矩陣的行數,列數和所求子矩陣包含 0 的數量。

接下來 n 行,每行輸入 m 個整數,第 i 行表示給定矩陣的第 i 行。

輸出格式

輸出僅一行,包含 1 個整數,表示答案。

樣例輸入

3 4 2
0 1 1 0
1 0 0 1
0 1 0 0

樣例輸出

4

說明

共有 4 個階數為 2 的方陣符合條件,左上角的坐標分別為 (1,1), (1,2), (1,3), (2,1)。

評測數據規模

  • 對于 20% 的評測數據,1 ≤ n × m ≤ 103。
  • 對于 40% 的評測數據,1 ≤ n × m ≤ 103。
  • 對于 100% 的評測數據,1 ≤ n × m ≤ 10?,0 ≤ k ≤ n × m。

運行限制

語言最大運行時間最大運行內存
C1s256M
C++1s256M
Python33s256M
Java2s256M
PyPy33s256M
Go3s256M

思路:

我們可以把0變成1,1變成0.這樣計算0的數量就變成計算1的數量。之后就是正常的二維前綴和,枚舉正方形。

有兩個點:

1.找出每一個正方形的(x1,y1),(x2,y2)

2.邊長的取值范圍
代碼如下:

#include <iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = 1e3+10;
int n,m,k,ans;
int a[N][N];
int pre[N][N];
int main() 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m >> k;for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= m ; j++)//0和1變換,然后求出子矩陣包含k個1的數量 {int temp;cin >> temp;if(temp == 1)a[i][j] = 0;else if(temp == 0) a[i][j] = 1; }}for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= m ; j++){pre[i][j] = pre[i-1][j] + pre[i][j-1] - pre[i-1][j-1] + a[i][j];}} int ans = 0;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {int max_len = min(n - i + 1, m - j + 1);for (int l = 1; l <= max_len; l++)// 枚舉邊長 {int x2 = i + l - 1;int y2 = j + l - 1;int x1 = i;int y1 = j; int sum = pre[x2][y2] - pre[x1-1][y2] - pre[x2][y1-1] + pre[x1-1][y1-1];if (sum == k) {ans++;}}}}cout << ans;return 0;
}

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

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

相關文章

晶晨S905L3芯片_原機安卓4升級安卓9.0_通刷線刷固件包

晶晨S905L3芯片_原機安卓4升級安卓9.0_通刷線刷固件包 線刷方法&#xff1a;&#xff08;新手參考借鑒一下&#xff09; 1、準備好一根雙公頭USB線刷刷機線&#xff0c;長度30-50CM長度最佳&#xff0c;同時準備一臺電腦&#xff1b; 2、電腦上安裝好刷機工具Amlogic USB Bu…

麒麟服務器操作系統Redis部署手冊

軟件簡介 Redis****介紹 REmote DIctionary Server(Redis) 是一個由 Salvatore Sanfilippo 寫的 key-value 存儲系統,是跨平臺的非關系型數據庫。 Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協議、支持網絡、可基于內存、分布式、可選持久性的鍵值對(Key-Value)存…

(分塊)洛谷 P2801 教主的魔法 題解

之前學過 莫隊 算法&#xff0c;其運用了分塊思想&#xff1b;但是我居然是第一次寫純種的分塊題目。 題意 給你一個長度為 n n n 的序列 a a a&#xff08;一開始 ? a i ∈ [ 1 , 1000 ] \forall a_i\in[1,1000] ?ai?∈[1,1000]&#xff09;。要求執行 q q q 次操作&…

谷歌Chrome或微軟Edge瀏覽器修改網頁任意內容

在谷歌或微軟瀏覽器按F12&#xff0c;打開開發者工具&#xff0c;切換到console選項卡&#xff1a; 在下面的輸入行輸入下面的命令回車&#xff1a; document.body.contentEditable"true"效果如下&#xff1a;

【生日蛋糕——DFS剪枝優化】

題目 分析 代碼 #include <bits/stdc.h> using namespace std;const int N 24; const int inf 0x3f3f3f3f;int mins[N], minv[N]; int R[N], H[N]; int n, m, ans inf;void dfs(int u, int v, int s) {if(v minv[u] > n) return;if(s mins[u] > ans) return;…

【C++基礎十】泛型編程(模板初階)

【C基礎十】泛型編程—模板 1.什么是模板2.函數模板的實例化&#xff1a;2.1隱式實例化2.2顯示實例化 3.函數模板參數的匹配規則4.什么是類模板5.類模板的實例化6.聲明和定義分離 1.什么是模板 void swap(int& a, int& b) {int tmp 0;tmp a;a b;b tmp; }void swap…

如何修復 Tauri 發布后程序運行時顯示 `asset not found: index.html` 的問題

如何修復 Tauri 發布后程序運行時顯示 asset not found: index.html 的問題 在使用 Tauri 發布應用程序時&#xff0c;如果運行時出現 asset not found: index.html 的錯誤&#xff0c;通常是因為 Tauri 無法找到或正確加載前端資源文件&#xff08;如 index.html&#xff09;…

短視頻下載去水印,用什么工具好?

去除視頻和圖片水印是許多用戶的需求&#xff0c;尤其是在分享或保存內容時。以下是6款超好用的工具&#xff0c;幫助你輕松去除水印&#xff0c;享受純凈的視覺體驗&#xff1a; 1. 易下載去水印小程序 特點&#xff1a; 操作簡單&#xff0c;支持抖音、快手、小紅書、嗶哩嗶哩…

【華為OD-E卷 -121 消消樂游戲 100分(python、java、c++、js、c)】

【華為OD-E卷 - 消消樂游戲 100分(python、java、c++、js、c)】 題目 游戲規則:輸入一個只包含英文字母的字符串,字符串中的兩個字母如果相鄰且相同,就可以消除。 在字符串上反復執行消除的動作,直到無法繼續消除為止,此時游戲結束。 輸出最終得到的字符串長度 輸入描…

設計模式(行為型)-備忘錄模式

目錄 定義 類圖 角色 角色詳解 &#xff08;一&#xff09;發起人角色&#xff08;Originator&#xff09;? &#xff08;二&#xff09;備忘錄角色&#xff08;Memento&#xff09;? &#xff08;三&#xff09;備忘錄管理員角色&#xff08;Caretaker&#xff09;?…

YOLO簡史:從YOLOv1到YOLOv12的技術革新與演進

YOLO&#xff08;You Only Look Once&#xff09;系列算法自2015年誕生以來&#xff0c;憑借其“單次推理”的高效特性&#xff0c;徹底改變了目標檢測領域。從初代YOLO到最新的YOLOv12&#xff0c;每一次迭代都凝聚了研究者的智慧與工業界的實踐需求。本文梳理各版本的特性、技…

【技術報告】谷歌開源多模態大模型 Gemma-3

【技術報告】谷歌開源多模態大模型 Gemma-3 1. Gemma-3 簡介1.1 Gemma-3 的新功能1.2 與現有工作流的集成1.3 開始使用 Gemma-3 Gemma-3 技術報告&#xff1a;摘要Gemma-3 技術報告&#xff1a;1. 引言Gemma-3 技術報告&#xff1a;2. 模型架構2.1 視覺模態2.2 預訓練2.3 量化感…

[ISP] 人眼中的顏色

相機是如何記錄顏色的&#xff0c;又是如何被顯示器還原的&#xff1f; 相機通過記錄RGB數值然后顯示器顯示RGB數值來實現顏色的記錄和呈現。道理是這么個道理&#xff0c;但實際上各廠家生產的相機對光的響應各不相同&#xff0c;并且不同廠家顯示器對三原色的顯示也天差地別&…

InfiniBand可靠連接(RC)模式:設計原理、核心機制與應用實踐

引言 InfiniBand作為一種高性能網絡互連技術&#xff0c;廣泛應用于超算集群、分布式存儲和金融交易系統等領域。其可靠連接&#xff08;Reliable Connection, RC&#xff09;模式以硬件級的有序性、可靠性和低延遲特性成為關鍵場景的首選。本文結合技術原理、機制對比和實際應…

【網絡】Caddy 服務器如何提供 TLS(Transport Layer Security)(傳輸層安全協議)

這張圖片介紹了 Caddy 服務器如何提供 TLS&#xff08;傳輸層安全協議&#xff09; 支持&#xff0c;確保通信的安全性。以下是對圖片內容的詳細分析 1. Caddy 是什么&#xff1f; Caddy 是一個現代化的 Web 服務器&#xff0c;以其簡單易用和自動化的 HTTPS 支持而聞名。它內…

GHCTF web方向題解

upload?SSTI! import os import refrom flask import Flask, request, jsonify,render_template_string,send_from_directory, abort,redirect from werkzeug.utils import secure_filename import os from werkzeug.utils import secure_filenameapp Flask(__name__)# 配置…

《Python實戰進階》No21:數據存儲:Redis 與 MongoDB 的使用場景

第21集&#xff1a;數據存儲&#xff1a;Redis 與 MongoDB 的使用場景 摘要 在現代應用開發中&#xff0c;數據存儲的選擇直接影響系統的性能、擴展性和成本。Redis 和 MongoDB 是兩種極具代表性的數據庫技術&#xff0c;它們分別擅長解決不同場景下的問題。本文將深入探討 Re…

【Agent】OpenManus-Prompt組件詳細分析

1. 提示詞架構概述 OpenManus 的提示詞組件采用了模塊化設計&#xff0c;為不同類型的智能體提供專門的提示詞模板。每個提示詞模塊通常包含兩種核心提示詞&#xff1a;系統提示詞&#xff08;System Prompt&#xff09;和下一步提示詞&#xff08;Next Step Prompt&#xff0…

藍橋杯刷題周計劃(第三周)

目錄 前言題目一題目代碼題解分析 題目二題目代碼題解分析 題目三題目代碼題解分析 題目四題目代碼題解分析 題目五題目代碼題解分析 題目六題目代碼題解分析 題目七題目代碼題解分析 題目八題目代碼題解分析 題目九題目代碼題解分析 題目十題目代碼題解分析 前言 大家好&#…

mysql學習-常用sql語句

1、安裝mysql參考網上鏈接&#xff0c;進入mysql數據庫 mysql -u root -p 2、數據庫操作 2.1、創建數據庫 create database 數據庫名 default character set utf8; 2.2、顯示所有數據庫 show databases; 2.3、選擇數據庫 use elementInfo; 2.4、刪除數據庫 drop database…