Статья Автор: Лебедев Дмитрий Алексеевич

Разбираем задачу про MEX

Рассмотрим следующую задачу (Задача на codeforces. MEX. Игра -1)

Алиса и Боб играют в очередную игру на массиве a длины n. Алиса начинает с пустого массива c. Оба игрока ходят по очереди, причем Алиса начинает первой.

В свой ход Алиса выбирает один элемент из a, добавляет его в c, а затем удаляет из a.

В свой ход Боб выбирает один элемент из a, а затем удаляет его из a.

Игра заканчивается, когда массив a становится пустым. Счет игры определяется как MEX† элементов c. Алиса хочет максимизировать счет игры, а Боб — минимизировать его. Найдите итоговый счет игры, если оба игрока играют оптимально.

† MEX (minimum excludant) массива целых чисел определяется как наименьшее целое неотрицательное число, которое не встречается в массиве. Например:

  • MEX массива [2,2,1] равен 0, потому что 0 не принадлежит массиву.
  • MEX массива [3,1,0,1] равен 2, потому что 0 и 1 принадлежат массиву, а 2 — нет.
  • MEX массива [0,3,1,2] равен 4, потому что 0, 1, 2 и 3 принадлежат массиву, а 4 — нет.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число t (1≤t≤2⋅104) — количество наборов входных данных. Далее следует описание наборов входных данных.

В первой строке каждого набора входных данных находится одно целое число n (1≤n≤2⋅105).

Вторая строка каждого набора входных данных содержит n целых чисел a1,a2,…,an (0≤ai<n).

Гарантируется, что сумма n по всем наборам входных данных не превосходит 2⋅105.


Выходные данные

Для каждого набора входных данных найдите счет игры, если оба игрока играют оптимально.


A. Что нужно сделать, чтобы решить задачу?
1) Понять условие
2) Попробовать решить на небольших примерах
3) Найти игровую стратегию
4) Реализовать этапы программы
B. Проанализировать решение и попробовать его ускорить

 

Попробуйте решить задание для следующих примеров (набор примера)
3
4
0 0 1 1
4
0 1 2 3
2
1 1
Введите ответ (в формате 3 числа в строку через пробел) и запустите следующий код
 


Еще несколько наборов в виде таблицы
Элментов Набор
1 8 5 4 6 1 6 1 1 6
2 9 2 3 3 2 1 3 6 3 0
3 9 1 7 6 1 6 4 3 2 1
4 9 6 4 0 6 2 2 2 2 2
5 9 4 6 0 5 0 6 6 4 6
6 8 6 2 2 5 6 2 0 2
7 9 2 6 4 4 5 7 4 6 2
8 9 1 0 7 7 7 6 1 2 0
9 9 1 2 0 6 3 1 1 2 1
10 8 3 6 1 1 4 0 5 1



Печать