CF1674F Desktop Rearrangement
题目描述
Ivan 让你帮他重新安排他的桌面。桌面可以表示为一个大小为 $n \times m$ 的矩形矩阵,由字符 "." (表示桌面的空单元格)和 "*" (表示图标)组成。
如果桌面上的所有图标都占据一些完整列的前缀,并且可能占据下一列的前缀(并且在该图之外没有图标),则该桌面是"良好"的。
换句话说,一些列将被图标填充,并且下一列(在最后一个完整列之后)的一些单元格也将被图标填充(并且桌面上的所有图标都属于这个图),则该桌面是"良好"的。
这与现实生活中的图标排列几乎相同。
在一次移动中,你可以将一个图标移动到桌面上的任何空白单元格。
Ivan 喜欢在他的桌面上添加一些图标或将其删除,因此他要求你回答 $q$ 个问题:添加或删除一个图标后,使桌面变得良好所需的最少移动次数是多少?
请注意,查询是永久性的,会更改桌面的状态。
输入格式
输入的第一行包含三个整数 $n$, $m$ 和 $q$ $(1 \le n, m \le 1000; 1 \le q \le 2 \cdot 10^5)$,分别表示桌面中的行数、桌面中的列数和查询数。
接下来的 $n$ 行表示对桌面的布局。第 $i$ 行包含 $m$ 个字符 "." 和 "*" ——桌面第 $i$ 行的布局。
接下来的 $q$ 行表示查询。其中第 $i$ 行包含两个整数$x_i$, $y_i$ ——改变其单元格的状态(如果此单元格之前包含图标,则此图标将被删除,否则此单元格中会出现图标)。
输出格式
输出 $q$ 个整数。第 $i$ 个整数应该是在前 $i-1$ 个查询后,使桌面"良好"所需的最小移动次数。