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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php求二维矩阵的最大子矩阵,最大子矩阵-动态规划

發布時間:2025/5/22 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php求二维矩阵的最大子矩阵,最大子矩阵-动态规划 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近看DP的題目比較多,感覺真是遞歸之后的又一大神器啊。

已知矩陣的大小定義為矩陣中所有元素的和。

給定一個矩陣,你的任務是找到最大的非空(大小至少是1 * 1)子矩陣。

比如,如下4 * 4的矩陣

0 -2 -7 0

9 2 -6 2

-4 1 -4 1

-1 8 0 -2

的最大子矩陣是

9 2

-4 1

-1 8

這個子矩陣的大小是15。

最開始我的分析是這樣的:要確定一個矩陣至少得4個元素,即4個角;或者起始坐標以及長度寬度。我們可以遍歷每個頂點以及每種邊長。

可是這樣的復雜度簡直是爆炸的。

直覺告訴我,只能用動態規劃了。

因為動態規劃可以把復雜的問題劃分成很小的部分。

那么問題來了,這個問題的子問題是什么?

其實找到子問題是解題思路里面最重要的部分。

我們之前碰到的一個問題是,求一維數組里面的最大和。感覺這里可以用,又不知道怎么用。

我們上面說到了,確定一個子矩陣得至少4個元素,那假設我們已經知道了其中的兩個:

假設最優解在第j行和第i行之間,剩下的就是去確定兩個列了。

既然我們已經把解的范圍局限在i,j兩行之間了,我們真的需要去求具體的哪一列嗎?

先這樣看,如果i,j相等的話,也就是解在同一列。這樣的話,問題是不是就轉換為求一維數組的最大和了呢?

擴展到一般情況:i,j不想等:比如兩行為:

1 2 -3 -4

-5 7 2 3

那么我們如何求呢?

降維!

我們把每一列壓縮為一個數,然后求一維的最大和就ok了。

整理一下思路:

1,我們遍歷所有的 行 的組合情況,即第i行到第j行的所有情況。

2,然后對每個組合之間的兩行之間的元素求這一列的值

3,對一個一維的和數組求最大和

4,對上述的最大和求最大值

在具體實現的時候,我們定住第i行不動,移動第j行,然后不斷的求兩行之間的每一列的和(壓縮)。

然后在每次移動i的時候,我們清空儲存列的和的數組。

程序:

//我們有第i行到第j行,然后求出每一列的從i到j的和,轉化為一維數組,然后求這個數組的最大和

#include

#include

int maxSubArray(int* a,int n)//一維數組的最大和

{

if(!a||n<=0)

return 0;

int curmax=0,max=0;

max=curmax=a[0];

for(int i=1;i

{

if(curmax>=0)

{

curmax+=a[i];

}

else

curmax=a[i];

if(curmax>max)

max=curmax;

}

return max;

}

int maxSumInMatrix(int a[200][200],int n)

{

int i=0,j=0,k=0;

int sumij[200]={0};//從i到j的每一列的和

int max_n=a[0][0],max=a[0][0];

for(i=0;i

{

memset(sumij,0,sizeof(sumij));//clear,每次移動i的時候清除

for(j=i;j

{

for(k=0;k

{

sumij[k]+=a[j][k];

}

max_n=maxSubArray(sumij,n);

if(max_n>max)//檢查并更新最大值

max=max_n;

}

}

return max;

}

int main()

{

int a[200][200];

memset(a,0,sizeof(a));

int n;

std::cin>>n;

for(int i=0;i

{

for(int j=0;j

std::cin>>a[i][j];

}

std::cout<

}

總結

以上是生活随笔為你收集整理的php求二维矩阵的最大子矩阵,最大子矩阵-动态规划的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 男人天堂a | 中文字幕精品三区 | 久久国产美女 | 日韩h在线| 国产无码精品在线播放 | 成年人视频网 | 亚洲欧洲日本一区二区三区 | 欧美啪啪网站 | 亚洲视频图片小说 | 伊人亚洲 | 夫の上司に犯波多野结衣853 | 亚洲视频 欧美视频 | 国产一区二区三区免费看 | 国产又大又粗又硬 | 国产三级高清 | 91精品国产高清 | 久久资源365 | 九九黄色大片 | 亚洲国产欧美另类 | 日韩中文av在线 | 六月丁香综合网 | 中文字幕在线视频观看 | 国产精品久久精品三级 | 国内精品第一页 | 亚洲a√ | 女同动漫免费观看高清完整版在线观看 | 成人在线观看av | 一本久久精品一区二区 | 国产精品视频久久久久久久 | 岛国一区| 一区二区三区成人 | 成人免费视频一区 | 91porn破解版 | 福利第一页 | 激情午夜天 | 久色成人网 | 国产99热| 亚洲一区色 | 视频免费1区二区三区 | 免费高清欧美大片在线观看 | 精品亚洲一区二区三区 | 91国产免费看 | 国产高清精品一区二区三区 | 欧美激情亚洲激情 | 成人乱人乱一区二区三区 | 操人视频网站 | xzjzjzjzjzj欧美大片 | 123超碰 | www免费网站在线观看 | 精品人妻互换一区二区三区 | 久久乐av| 国产一区观看 | 日韩中文字幕综合 | 免费a级网站| 永久免费未满蜜桃 | 中文字幕无线码一区 | 欧美日韩成人在线观看 | 日本成人三级电影 | 婷婷午夜精品久久久久久性色av | 亚洲av无码精品一区二区 | 久久久不卡国产精品一区二区 | 放荡的美妇在线播放 | 亚洲www啪成人一区二区麻豆 | 日韩三级中文字幕 | 欧美精品色婷婷五月综合 | 国产精品永久在线观看 | 亚洲色图视频在线观看 | ts人妖在线观看 | 亚洲成人天堂 | 先锋av在线资源 | 精品视频在线观看一区二区 | 日韩精品――中文字幕 | 美女视频黄的免费 | 精品国产av 无码一区二区三区 | 私密视频在线观看 | 精品福利在线观看 | 长篇乱肉合集乱500小说日本 | 国产精品久久av | 久久999| 男人的天堂aa | 中文字幕有码在线观看 | 美国伊人网| 吃奶摸下的激烈视频 | 自拍视频网址 | 经典三级视频 | 日本捏奶吃奶的视频 | 潘金莲一级淫片a.aaaaa播放 | 奶罩不戴乳罩邻居hd播放 | 亚洲乱淫| 91娇羞白丝网站 | 九九涩| 国产自产 | 字幕网在线观看 | 亚洲系列 | 免费国产羞羞网站视频 | 星铁乱淫h侵犯h文 | 亚洲综合一区二区三区 | 久久亚洲电影 | 美女被啪羞羞粉色视频 |