塔子哥得到了一个矩阵。
首先,我们需要理解题目的要求,即我们需要将不多于k个白色格子变成红色,以使得最多的红色格子纵向相邻。
解决这个问题的关键在于如何选择变色的白色格子。我们可以观察到,对于某一列连续出现的白色格子,记其数量为cnt,我们最多可以得到cnt−1个优美的格子
具体实现时,我们可以使用一个优先队列来存储每一列连续出现的白色格子的数量。优先队列的顶部是数量最多的格子。然后,我们每次从优先队列中取出一段格子进行变色,直到我们已经变色了k个格子。
通过这种方式,我们可以保证每次变色都能得到最多的优美的格子,从而得到最终的答案。