homework-02
生活随笔
收集整理的這篇文章主要介紹了
homework-02
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個我只做了非連通圖,支持/v /h參數
具體原理也很簡單,而且編程十分方便。
那就是積分圖:
| 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
假如上圖是輸入。然后我們就算對應的積分圖。每個點都變成此點左上角所有點之和:
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 2 | 3 | 4 | 5 |
| 0 | 2 | 4 | 6 | 8 | 10 |
| 0 | 3 | 6 | 9 | 12 | 15 |
| 0 | 4 | 8 | 12 | 16 | 20 |
| 0 | 5 | 10 | 15 | 20 | 25 |
這樣的計算能在m*n復雜度內完成。這樣帶來的好處是,對于任意一個矩形,矩形內所有元素之和的計算就變得極其簡單了。
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 2 | 3 | 4 | 5 |
| 0 | 2 | 4 | 6 | 8 | 10 |
| 0 | 3 | 6 | 9 | 12 | 15 |
| 0 | 4 | 8 | 12 | 16 | 20 |
| 0 | 5 | 10 | 15 | 20 | 25 |
因為左上角區(qū)域要被減兩次,所以要加回來:
元素之和 = 右下角 - 左下角 - 右上角 + 左上角
?
然后就能得到元素之和了。
?
?
關于/h /v 屬性,只要把這個圖擴展一下就行。橫向和縱向都首尾相接變?yōu)樵瓉淼膬杀丁?/p>
/a屬性??梢韵葮顺雒恳粔K大于0的所有元素。然后以每一塊為起點,尋找最近的一塊區(qū)域。然后不斷重復即可。
?
轉載于:https://www.cnblogs.com/yzong/p/3347948.html
總結
以上是生活随笔為你收集整理的homework-02的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL 备份还原单个表
- 下一篇: Exchange Server 2007