Задана матрица, состоящая из $$$n$$$ строк и $$$m$$$ столбцов.
Вы можете выполнять над ней два типа действий:
Обратите внимание, что вы не можете выбирать, в какой цвет красить строку или столбец.
За одну секунду можно выполнить как одно действие, так и несколько одновременно. Если сделать одно действие, то это будет бесплатно. Если же сделать $$$k > 1$$$ действий одновременно, то на это придется потратить $$$k^2$$$ монет. Когда несколько действий выполняются одновременно, для каждой клетки, которая затрагивается действиями обоих типов, цвет можно выбрать независимо.
Требуется обработать $$$q$$$ запросов. Перед каждым запросом все ячейки становятся бесцветными. Изначально ограничений на итоговый цвет клеток нет. В $$$i$$$-м запросе добавляется ограничение вида:
Таким образом, после $$$i$$$ запросов существует $$$i$$$ ограничений на необходимые цвета клеток матрицы. После каждого запроса выведите минимальную стоимость покраски в соответствии с ограничениями.
В первой строке записано три целых числа $$$n, m$$$ и $$$q$$$ ($$$1 \le n, m, q \le 2 \cdot 10^5$$$) — размер матрицы и количество запросов.
В $$$i$$$-й из следующих $$$q$$$ строк записаны два целых числа $$$x_i, y_i$$$ и символ $$$c_i$$$ ($$$1 \le x_i \le n$$$; $$$1 \le y_i \le m$$$; $$$c_i \in$$$ {'R', 'B'}, где 'R' значит красный, а 'B' значит синий) — описание $$$i$$$-го ограничения. Клетки во всех ограничениях попарно различные.
Выведите $$$q$$$ целых чисел — После каждого запроса выведите минимальную стоимость покраски в соответствии с ограничениями.
2 2 41 1 R2 2 R1 2 B2 1 B
0 0 0 16
3 5 101 1 B2 5 B2 2 B2 3 R2 1 B3 2 R3 3 B1 2 R1 3 B3 1 B
0 0 0 0 0 0 16 16 25 25
Название |
---|