我们得到以下矩阵
5 7 9
7 8 4
4 2 9
我们需要找到最大的总和行或列,然后我们需要从该行或列的每个元素中减去1,然后我们需要重复此操作3次。
答案 0 :(得分:0)
我会尽力解释。
矩阵为n * n,增量过程重复k次。 o(n ^ 2 + k×log(n))算法是可能的。
如果最大行/列的总和是一行,那么:
行总和增加 n 。
所有列总和增加1。
这两条规则也适用于列。
对于规则一商店,所有行/列在2个AVL树中相加 (或支持 o(log(n))插入和删除的所有其他数据结构)
对于规则二存储行/列的操作数。 (只是两个整数)
现在取两棵树的最大值,其中两个整数对数据结构的差异起作用。更改它并更改另一个并插回。