#P13675. [GCPC 2023] Japanese Lottery

[GCPC 2023] Japanese Lottery

题目描述

Amida-kuji is a lottery popular in Japan, which can be used to assign ww prizes to ww people. The game consists of ww vertical lines, called legs, and some horizontal bars that connect adjacent legs. The tops of the legs are the starting positions of the ww people, and the prizes are at the bottom of the legs. To determine the prize of the iith person, one has to move down on the iith leg, starting at the top, and switch the leg whenever a horizontal bar is encountered. You can see such a game and how to trace a path in Figure J.1.

:::align{center} Strawberry picking game, photo by Nanao Wagatsuma :::

You want to manipulate the lottery in such a way that the iith person gets the iith prize, for every ii, by removing some horizontal bars. Since you do not want to get caught, you want to remove as few bars as possible.

:::align{center}

Figure J.1: Visualization of an Amida-kuji game. The first person is connected to the third prize. This is also Sample Input 2 after all connections are added and before any connection is removed. To connect the ith person to the ith prize, it suffices to remove both horizontal bars between legs 2 and 3 and the topmost horizontal bar between legs 3 and 4. This is the only minimal solution. :::

For this problem, the initial game configuration has no horizontal bars. Then, horizontal bars are added one by one or are removed again. After each change, you want to know the minimum number of horizontal bars that need to be removed such that the iith prize is assigned to the iith person for each ii. Note that this is always possible by removing all horizontal bars.

输入格式

The input consists of:

  • One line with three integers w,hw, h and qq (2w202 \leq w \leq 20, 1h,q21051\leq h,q \leq 2\cdot10^5), the number of legs, the height of the legs, and the number of changes.
  • qq lines, each containing three integers y,x1y, x_{1} and x2x_{2} (1yh1\leq y \leq h, 1x1,x2w1\leq x_{1}, x_{2} \leq w), describing a change where a horizontal bar is added or removed at height yy between legs x1x_1 and x2x_2. If there is already a horizontal bar at this position, it will be removed. Otherwise the bar will be added. It is guaranteed that the two legs are adjacent, i.e. x1x2=1|x_{1}-x_{2}|=1.

It is guaranteed that all horizontal bars have different heights at every moment.

输出格式

After each change, output a single integer, the minimum number of horizontal bars that need to be removed in the game with the currently existing bars such that the iith prize is assigned to the iith person for each ii.

4 6 7
1 1 2
2 3 4
4 3 4
5 1 2
6 3 4
3 2 3
6 3 4
1
2
1
0
1
2
1
5 9 12
1 3 4
2 1 2
3 2 3
4 4 5
5 2 1
6 4 3
7 2 3
8 4 3
9 4 5
6 4 3
7 2 3
1 3 4
1
2
3
4
3
2
3
4
3
4
3
2