我有一个N * N网格,全部为零。然后我更新它上面的N个随机点,并将它们的值设置为大于等于1的任何数。此外,给定值为“L”。
我们希望在网格中找到大小为L * L的子矩阵,使得子矩阵中的元素之和最大。如果有多个答案,则可以输出任何此类子矩阵的坐标。
约束: 1&lt; = N&lt; = 50000,1 <= L <= 50000。
我知道如何在O(N 2 )中解决问题,考虑所有大小为L * L的子矩阵,使用前缀和来计算总和。但问题是由于对N的约束,我不能声明这么大的矩阵。
有没有有效的方法来解决这个问题?任何帮助都会很感激。