1樓:mathe
我們可以先考慮計算每個1它左邊包含自身連續的1的數目(如果它本身為0,那麼計數也設定為0),比如對於矩陣
0110111
1100011
1110011
0111100
計數結果為
0120123
1200012
1230012
0123400
然後依次分析每一列
比如第一列有兩個連續的1,那麼代表可以橫向寬度為1的小矩陣有2+1=3個。
第二列有四個連續元素不小於1,代表橫向寬度為1的小矩陣可以有 個,
還有兩個連續元素不小2,代表橫向寬度為2(到這一列結束)的小矩陣可以有 個。
第三列的單獨2代表縱向高度為,橫向寬度為1或2的兩個小矩陣
第三列後面連續兩個不小於2的數,代表橫向寬度為1或2,縱向高度為1或2的矩陣有 個。另外乙個數字3代表橫向寬度為3,縱向高度為1的矩陣。
...而最後一列的連續322代表橫向寬度為1或2,高度不超過3的矩陣共 個以及橫向寬度為3,縱向高度為1的乙個矩陣。
而且對於每一列,我們也可以將各元素逐個分析,比如以第二列12
21我們先計算出第一列的1,
對應這一列連續不小於1的數累計1個,連續不小於2的數累計0個。
那麼代表一這一列第乙個元素作為右下角的矩陣有 個.
而遇到下一行數字2時,更新連續不小於1的數2個,連續不小於2的數1個,連續不小於3的數0個
對應以這個元素作為右下角的矩陣 個。
再遇到下一行數字2時,更新連續不小於1的數3個,連續不小於2的數2個,
對應以這個元素作為右下角的矩陣 個
再遇到下一行數字1時,更新連續不小於1的數4個,連續不小於2的數0個
對應以這個元素作為右下角的矩陣 個
定義乙個二維陣列arr,為什麼arr, arr, arr三個量的值是一樣的?
某人 陣列名和指標很大程度上是一致的,它們最大的不同在於你不能給陣列名賦值,但指標可以。如果arr定義為type arr M N 那麼arr的指標型別為type arr N 它指向陣列首址。arr的指標型別為type arr M N 同樣也指向陣列首址。arr是對arr的解引用,arr本身是二級指標...
有沒有活在二維或一維的生物?
宇智波 老爺 有 當然有 我就是生活在一維的生物 我生活在乙個占地100m的叫b國的國家 我是b國的一名士兵 守衛著b國與a國的國境點 沒錯我們的國家之間的邊界是乙個點 我守護的這個點叫50 我已經守衛這個國境點 1000000年了 我們國家一共有100 個人 但是我只見過2個 其中乙個是我的弟弟 ...
人類能夠感知二維或者一維世界嗎?
曾劍輝 一維二維世界並不真的存在,不過是為了幾何方便設定的概念。至於什麼五維六維空間,除非修改定義,否則也不可能存在 科學除了證實的很小一部分,在人類歷史上,無限個和高維空間的幻想多了去了 別當真 螞蟻毫無疑問是三維生物 螞蟻多了能咬死你。二維生物沒有厚度,你拿張紙,畫個妹子,她就是二維的一維時間沒...