日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01矩阵问题

發布時間:2024/4/11 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01矩阵问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

01矩陣問題

文章目錄

  • 01矩陣問題
    • 一、問題描述
    • 二、分析
    • 三、代碼
    • 四、問題描述
    • 五、代碼
    • 六.問題描述
    • 七、代碼

一、問題描述

求N* M矩陣中子矩陣的最大元素和

二、分析

  • 先計算出以左上角的元素(1,1)和當前元素(i,j)為頂點對的子矩陣的部分和,部分和的計算如下
PS[i][j] = A[i][j]+PS[i-1][j]+PS[i][j-1]-PS[i-1][j-1]
  • 假設已經確定了矩陣區域的上下邊界,不如知道矩陣區域的上下邊界分布是第a行和第c行,接下來要確定左右邊界。
  • 我們把第a行和第c行之間的每一列看成一個整體,相當于一維數組中的一個元素(通過子矩陣部分和可以在O(1)時間內計算出整體之和)。

三、代碼

#include <iostream> #include <algorithm> #define MAXN 1003 using namespace std; int A[MAXN][MAXN]; long long PS[MAXN][MAXN]; inline long long MatrixSum(int s, int t, int i, int j) { return PS[i][j] - PS[i][t - 1] - PS[s - 1][j] + PS[s - 1][t - 1]; } int main() { int m, n, i, j; cin >> n >> m; for (i = 1; i <= n; i++) for (j = 1; j <= m; j++) cin >> A[i][j];for (i = 0; i <= n; i++) PS[i][0] = 0; for (j = 0; j <= m; j++) PS[0][j] = 0; // 計算矩陣的部分和 for (i = 1; i <= n; i++) for (j = 1; j <= m; j++) PS[i][j] = A[i][j] + PS[i - 1][j] + PS[i][j - 1] - PS[i - 1][j - 1];int a, c; long long All = A[1][1]; for (a = 1; a <= n; a++) for (c = a; c <= n; c++) { // 將子矩陣上下邊界設為第a行和第c行,在這些子矩陣中取最大值 long long Tail = MatrixSum(a, 1, c, 1); for (j = 2; j <= m; j++) { Tail = max(MatrixSum(a, j, c, j), MatrixSum(a, j, c, j)+Tail); All = max(Tail, All); } } cout << All; }

四、問題描述

找到整數矩陣matrix中,元素之和最大的n行m列的子矩陣的元素之和

五、代碼

int maxSubmatrixSum(std::vector<std::vector<int>> matrix,int n, int m) { int base_sum = 0; for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ base_sum += matrix[i][j]; } } int result = 0; for (int i = 0; i + n - 1 < matrix.size(); i++) { if(i > 0){ for (int y = 0; y < m; y++){ base_sum += matrix[i + n - 1][y] - matrix[i - 1][y]; } } int real_sum = base_sum; if (real_sum > result) { result = real_sum; } for (int j = 0; j + m < matrix[i].size(); j++) { for (int x = i; x < i + n; x++) { real_sum += matrix[x][j + m] - matrix[x][j]; } if (real_sum > result) { result = real_sum; } } } return result; }

六.問題描述

七、代碼

class Solution { public:int maximalRectangle(vector<vector<char>>& matrix) {if(matrix.empty()){return 0;}vector<vector<int>> dp(matrix.size(),vector<int>(matrix[0].size(),0));for(int i = 0;i < matrix.size();i++){for(int j = 0;j < matrix[0].size();j++){if(j == 0){if(matrix[i][0] == '0')dp[i][j] = 0;else dp[i][j] = 1;}else if(matrix[i][j] == '1'){dp[i][j] = dp[i][j - 1] + 1;}else {dp[i][j] = 0;}}}int ret = INT_MIN;for(int i = 0;i < matrix.size();i++){for(int j = 0;j < matrix[0].size();j++){int col = 0;int row = INT_MAX;for(int k = i;k >= 0;k--){if(dp[k][j] == 0){row = INT_MAX;col = 0;continue;}row = min(dp[k][j],row);col++;ret = max(ret,row * col);}ret = max(ret,row * col);}}return ret;} };

詳解請點擊:https://blog.csdn.net/wolfGuiDao/article/details/107537331

總結

以上是生活随笔為你收集整理的01矩阵问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: se在线观看| 欧美激情欧美激情在线五月 | 日批视频在线看 | 国产不卡在线视频 | 欧美亚洲激情视频 | 强制高潮抽搐哭叫求饶h | 日本一区二区黄色 | 天天曰天天射 | 中文字幕永久 | 波多野结衣在线播放视频 | 免费看欧美大片 | 深夜国产在线 | 天天精品综合 | 亚洲精品乱码久久久久久按摩观 | 亚洲福利在线观看 | 蜜桃网站 | 爱看av在线 | 欲色综合 | 在线观看少妇 | 99精品免费观看 | 91国自产精品中文字幕亚洲 | 伊人黄色网 | 亚洲经典一区二区三区 | 亚洲国产精品毛片av不卡在线 | 91亚洲国产精品 | 懂色一区二区 | 免费成人美女女电影 | 图片区亚洲 | 99艹| 99综合色| 久草资源在线视频 | 天天干夜操 | 中文字幕日韩在线观看 | 农村激情伦hxvideos | 香蕉手机网 | 国产欧美精品一区二区色综合朱莉 | 黑人无套内谢中国美女 | 欧美激情网站 | 国产欧美一区二区三区另类精品 | 婷婷网五月天 | 91艹| 国产精品伦一区二区三级视频 | 欧美做受高潮 | 男人天堂成人网 | 公交顶臀绿裙妇女配视频 | 黄色国产在线观看 | 日美毛片 | 尤物在线视频 | 免费午夜视频在线观看 | 日韩一区欧美一区 | 波多野结衣一二三区 | 玖玖在线免费视频 | 伊人狼人综合 | wwwav视频在线观看 | 四虎影视在线播放 | 国产无遮挡又黄又爽又色 | 神马九九| 女儿的朋友在线播放 | 臭脚猛1s民工调教奴粗口视频 | 日本成人免费在线视频 | 国产乱码精品一区二三区蜜臂 | 免费的一级片 | 成人首页 | 伊人婷婷色 | 在线观视频免费观看 | 野花成人免费视频 | 午夜在线视频免费 | 少妇光屁股影院 | 91超碰在 | 精品国产美女 | 国产精品乱码妇女bbbb | 人人澡人人爽 | 男生尿隔着内裤呲出来视频 | 波多野结衣免费观看视频 | 天天艹日日艹 | 一级片在线免费观看视频 | 亚洲熟女综合色一区二区三区 | 女同vk| 日韩一级片在线 | 日本老师巨大bbw丰满 | 成人午夜影视在线观看 | 91avcom| 亚洲欧美国产毛片在线 | 欧美在线视频不卡 | 国产成人精品视频在线观看 | 91视频免费网站 | 日本黄色一级 | 妺妺窝人体色www在线下载 | 丰满岳妇伦在线播放 | 国产制服91一区二区三区制服 | 夜夜爱av | 亚洲AV综合色区国产精品天天 | 网址你懂的在线 | 免费播放黄色片 | 国产特级黄色片 | 好色婷婷| 大陆明星乱淫(高h)小说 | 免费看裸体视频网站 | 国产日韩欧美在线播放 |