九度 1492 最小子矩陣 技巧題

2021-09-06 14:17:16 字數 852 閱讀 8984

題目描述:

給定乙個m*m的矩陣,矩陣中每個數字都是整數。

在該矩陣中找到乙個大小為n*n的子矩陣,使該子矩陣中的所有元素和最小。輸出該最小元素和。

思路

1. 簡單版的最小矩陣, 矩陣被限定在正方形

2. 對於子問題的求解, 幾乎算不上是動態規劃了, 只能說是一道模擬題

3. 乙個游標, 遍歷第 n~m 行, 對每一行, 利用單調佇列計算矩陣的和, 時間複雜度為 o(m*m)

**

#include #include 

#include

using

namespace

std;

int matrix[200][200

];int line[200

];int caloneline(int m, int

n)

return

minval;

}int

main()

}memset(line,

0, sizeof

(line));

for(int i = 0; i < n; i ++)

}int minval =caloneline(m, n);

for(int i = n; i < m; i++)

minval =min(minval, caloneline(m, n));

}printf(

"%d\n

", minval);

}return0;

}

九章演算法面試題87 最小子陣列

www.jiuzhang.com 給定乙個整數陣列,找到乙個具有最小和的子陣列。返回其最小和。這道題和max subarray很類似,我用local 和 global 的dp方式闊以解決這道 那麼我們來看動態規劃的四個要素分別是什麼?state localmin i 表示以當前第i個數最為結尾的最小...

九度題目 矩陣轉置(1193)

題目描述 輸入乙個n n的矩陣,將其轉置後輸出。要求 不得使用任何陣列 就地逆置 輸入 輸入的第一行包括乙個整數n,1 n 100 代表矩陣的維數。接下來的n行每行有n個整數,分別代表矩陣的元素。輸出 可能有多組測試資料,對於每組資料,將輸入的矩陣轉置後輸出。樣例輸入 3 1 2 3 4 5 6 7...

九度 1154《最小生成樹》

北大10機試 1154 jungle roads wa 原因,初始化時為1 size 1,而使用時ch a 是從0開始的。但是,本地測試卻與答案相同!所以,優點隱蔽。所以初始化時,為0 size 1時,就安全保險了。還需要養成習慣,做到點的開始為1。除非規定了第乙個點為0.include inclu...