使用C ++获取矩阵中子矩形最大和的一种优化方法

用户3051817

我在这段代码中有一个问题,如果矩阵的尺寸很小,它可以很好地工作,但是如果尺寸很大,例如50X50,它就不会响应。问题说明中这些尺寸的预期输入最多为1000X1000。任何的想法?

这是我的代码:http : 1-//ideone.com/BJuLQh

维克拉姆·巴特(Vikram Bhat)

这是一个O(n^3)算法:

1. fix two columns (u,v) which are end of the rectangle.
2. take sum of row i within (u,v) in sum[i] in ascending order.
3. Use kadane's algorithm on sum[] 
4. The solution will will give you two row values (i,j) and max sum.
5. So you current best rectangle is (i,u),(j,v).
6. Update global max sum if needed.

时间复杂度:-

Kadane's algorithm : O(N)
sum of row's i  within (u,v) can be evaluated in O(N) using previous values.
Total : O(N^3) for all (u,v) pairs.

Kadane算法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用nspredicate来获取具有最大属性值以及处于一种关系的实体

来自分类Dev

有没有一种方法可以使SQL日志使用CloudSQL查看/优化我的查询

来自分类Dev

__makeref作为在C#中获取参考值的一种方法?

来自分类Dev

使用moq设置一种返回对象列表但获取null的方法

来自分类Dev

如何在不使用getattr的情况下获取一种方法的变量

来自分类Dev

Android:如何使用onActivityResult()制作一种从服务中获取东西的方法?

来自分类Dev

Nest API是否提供一种获取历史能源使用量的方法?

来自分类Dev

需要一种使用FINDSTR查找后获取总实例的方法

来自分类Dev

有没有一种方法可以在使用children()的同时获取当前的孩子

来自分类Dev

有没有一种方法可以避免使用Numpy广播的任意M x N矩阵?

来自分类Dev

有没有一种方法可以使用STL优雅地填充矩阵(向量的向量)?

来自分类Dev

Bing maps API:有没有一种方法可以使用卡车路线作为距离矩阵?

来自分类Dev

Ncurses / C / C ++:使用getstr()并防止溢出(必须有一种更好的方法)

来自分类Dev

有没有一种方法可以使用Matlab在矩阵中使用未知变量进行矩阵计算?

来自分类Dev

编写一种使用递归找到2个整数之间的最大公约数的方法?

来自分类Dev

使用 List 从一种方法到另一种方法

来自分类Dev

使用一种方法的结果以另一种方法计算价格

来自分类Dev

在 C# 中获取一种类型的对象

来自分类Dev

使用主键获取最后一种相同的记录值

来自分类Dev

有没有一种方法可以使用Entity Framework获取C#中所有存储过程名称的列表?

来自分类Dev

C ++使用一种共享方法将3个不同的向量推入

来自分类Dev

有没有一种简单的方法可以在C ++中使用乘法累加?

来自分类Dev

在C ++ BLPAPI中,有一种方法可以避免使用hasElement或捕获错误

来自分类Dev

创建一种使用指针在C中转换Pascal字符串的方法

来自分类Dev

有没有一种方法可以使用c ++实时阅读文本?

来自分类Dev

覆盖另一种方法使用的超类回调函数[C ++]

来自分类Dev

有没有一种方法可以检测c ++中的汉字?(使用升压)

来自分类Dev

C ++:在另一种方法中使用预先声明的operator []

来自分类Dev

有没有一种方法可以在C ++中使用类型文字?

Related 相关文章

  1. 1

    使用nspredicate来获取具有最大属性值以及处于一种关系的实体

  2. 2

    有没有一种方法可以使SQL日志使用CloudSQL查看/优化我的查询

  3. 3

    __makeref作为在C#中获取参考值的一种方法?

  4. 4

    使用moq设置一种返回对象列表但获取null的方法

  5. 5

    如何在不使用getattr的情况下获取一种方法的变量

  6. 6

    Android:如何使用onActivityResult()制作一种从服务中获取东西的方法?

  7. 7

    Nest API是否提供一种获取历史能源使用量的方法?

  8. 8

    需要一种使用FINDSTR查找后获取总实例的方法

  9. 9

    有没有一种方法可以在使用children()的同时获取当前的孩子

  10. 10

    有没有一种方法可以避免使用Numpy广播的任意M x N矩阵?

  11. 11

    有没有一种方法可以使用STL优雅地填充矩阵(向量的向量)?

  12. 12

    Bing maps API:有没有一种方法可以使用卡车路线作为距离矩阵?

  13. 13

    Ncurses / C / C ++:使用getstr()并防止溢出(必须有一种更好的方法)

  14. 14

    有没有一种方法可以使用Matlab在矩阵中使用未知变量进行矩阵计算?

  15. 15

    编写一种使用递归找到2个整数之间的最大公约数的方法?

  16. 16

    使用 List 从一种方法到另一种方法

  17. 17

    使用一种方法的结果以另一种方法计算价格

  18. 18

    在 C# 中获取一种类型的对象

  19. 19

    使用主键获取最后一种相同的记录值

  20. 20

    有没有一种方法可以使用Entity Framework获取C#中所有存储过程名称的列表?

  21. 21

    C ++使用一种共享方法将3个不同的向量推入

  22. 22

    有没有一种简单的方法可以在C ++中使用乘法累加?

  23. 23

    在C ++ BLPAPI中,有一种方法可以避免使用hasElement或捕获错误

  24. 24

    创建一种使用指针在C中转换Pascal字符串的方法

  25. 25

    有没有一种方法可以使用c ++实时阅读文本?

  26. 26

    覆盖另一种方法使用的超类回调函数[C ++]

  27. 27

    有没有一种方法可以检测c ++中的汉字?(使用升压)

  28. 28

    C ++:在另一种方法中使用预先声明的operator []

  29. 29

    有没有一种方法可以在C ++中使用类型文字?

热门标签

归档