博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
homework-02
阅读量:6441 次
发布时间:2019-06-23

本文共 564 字,大约阅读时间需要 1 分钟。

这个我只做了非连通图,支持/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

因为左上角区域要被减两次,所以要加回来:

元素之和 = 右下角 - 左下角 - 右上角 + 左上角

 

然后就能得到元素之和了。

 

 

关于/h /v 属性,只要把这个图扩展一下就行。横向和纵向都首尾相接变为原来的两倍。

/a属性。可以先标出每一块大于0的所有元素。然后以每一块为起点,寻找最近的一块区域。然后不断重复即可。

 

转载于:https://www.cnblogs.com/yzong/p/3347948.html

你可能感兴趣的文章
算法题:福尔摩斯的约会
查看>>
Oralce sql (+) 补充
查看>>
hdu 2665 划分树
查看>>
laravel中的plicy授权方法:
查看>>
基于R进行相关性分析--转载
查看>>
常用 cdn
查看>>
tomcat8 管理页面403 Access Denied的解决方法
查看>>
怎样避免应用冷启动
查看>>
把vux中的@font-face为base64格式的字体信息解码成可用的字体文件
查看>>
vue sync
查看>>
CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录
查看>>
Wix 安装部署教程(十一) ---QuickWix
查看>>
Spring @Value注解问题
查看>>
P1886 滑动窗口
查看>>
实施vertex compression所遇到的各种问题和解决办法
查看>>
ubuntu 12.04 rails server 时候报错 execjs
查看>>
linux下文件压缩与解压操作
查看>>
使用树莓派实现微信远程监控
查看>>
在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题
查看>>
linux sed命令
查看>>