最大和 -- 最大子矩阵
生活随笔
收集整理的這篇文章主要介紹了
最大和 -- 最大子矩阵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從一維的最大子序列 , 到二維的最大子序列 , 實際上還是轉化為一維的去計算 , 通過輸入時獲得操作 , 和下面的 三個 for 循環 得以 計算最大子序列 /
1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<iostream> 5 #include<algorithm> 6 #include<queue> 7 #include<vector> 8 #include<set> 9 #include<stack> 10 #include<string> 11 #include<sstream> 12 #include<map> 13 #include<cctype> 14 #include<limits.h> 15 using namespace std; 16 int main() 17 { 18 int t,a[2][6],n,m; 19 scanf("%d",&t); 20 while(t--) 21 { 22 scanf("%d%d",&n,&m); 23 memset(a,0,sizeof(a)); 24 for(int i=1;i<=n;i++) 25 for(int j=1;j<=m;j++) 26 { 27 scanf("%d",&a[i][j]); 28 a[i][j]=a[i][j]+a[i-1][j]; // 這里是一個重要的處理 , 讓下面的數據 , 代表該數據及以上數據之和 便于下方計算 29 } 30 int temp,result=INT_MIN; 31 for(int i=1;i<=n;i++) // 通過這三個 for 循環 得以計算到 最大值的最小子序列 . 32 for(int j=i;j<=n;j++) 33 for(int k=1,maxn=INT_MIN;k<=m;k++) 34 { 35 temp=a[j][k]-a[i-1][k]; 36 maxn=(maxn>0?maxn:0)+temp; 37 result=maxn>result?maxn:result; 38 } 39 printf("%d\n",result); 40 } 41 return 0; 42 }?
轉載于:https://www.cnblogs.com/A-FM/p/5462515.html
總結
以上是生活随笔為你收集整理的最大和 -- 最大子矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何防止sql注入?防止sql注入方法介
- 下一篇: dex2jar源码解析之总体介绍(一)