1. Главная
  2. Библиотека
  3. Программирование
  4. Дана перестановка p длины n, которая содержит каждое целое число от 0 до n−1, и полоса из n ячеек. i-я ячейка полосы окраш...

Дана перестановка p длины n, которая содержит каждое целое число от 0 до n−1, и полоса из n ячеек. i-я ячейка полосы окрашивается в цвет MEX(p1,p2,...,pi). Вам даны два целых числа n и x. Постройте перестановку p, чтобы количество ячеек в полосе,

«Дана перестановка p длины n, которая содержит каждое целое число от 0 до n−1, и полоса из n ячеек. i-я ячейка полосы окрашивается в цвет MEX(p1,p2,...,pi). Вам даны два целых числа n и x. Постройте перестановку p, чтобы количество ячеек в полосе,»
  • Программирование

Условие:

B. Св. Хрома
ограничение по времени на тест2 секунды
ограничение по памяти на тест256 мегабайт
Дана перестановка∗
p
длины n
, которая содержит каждое целое число от 0
до n−1
, и полоса из n
ячеек. Св. Хрома будет окрашивать i
-ю ячейку полосы в цвет MEX(p1,p2,...,pi)

Например, пусть p=[1,0,3,2]
. Тогда Св. Хрома будет окрашивать ячейки полосы следующим образом: [0,2,2,4]
Вам даны два целых числа n
и x
. Поскольку Св. Хрома любит цвет x
, постройте перестановку p
, чтобы количество ячеек в полосе, окрашенных в цвет x
, было максимально.


Перестановка длины n
— это последовательность из n
элементов, содержащая каждое целое число от 0
до n−1
ровно один раз. Например, [0,3,1,2]
является перестановкой, но [1,2,0,1]
не является таковой, поскольку 1
встречается дважды, а [1,3,2]
не является таковой, поскольку 0
вообще не встречается.


Функция MEX
для последовательности определяется как первое неотрицательное целое число, которое в ней не встречается. Например, MEX(1,3,0,2)=4
, а MEX(3,1,2)=0
.

Входные данные
Первая строка входных данных содержит одно целое число t
(1≤t≤4000
) — количество наборов входных данных.

Единственная строка каждого набора входных данных содержит два целых числа n
и x
(1≤n≤2⋅105
, 0≤x≤n
) — количество ячеек и цвет, который вы хотите максимизировать.

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

Выходные данные
Выведите перестановку p
длины n
, чтобы количество ячеек в полосе, окрашенных в цвет x
, было максимально. Если существует несколько таких перестановок, выведите любую из них.

Пример
Входные данныеСкопировать
7
4 2
4 0
5 0
1 1
3 3
1 0
4 3
Выходные данныеСкопировать
1 0 3 2
2 3 1 0
3 2 4 1 0
0
0 2 1
0
1 2 0 3

Решение:

Для решения задачи необходимо построить перестановку `p` длины `n`, чтобы максимизировать количество ячеек, окрашенных в цвет `x`. Цвет ячейки определяется как MEX (minimum excluded value) для первых `i` элементов перестановки. ### Подход к решению 1. **Понимание MEX**: MEX для последовательности — это наименьшее неотрицательное целое число, которое не присутствует в последовательности. Например, для последовательности `[0, 1, 2]` MEX равен `3`, а для `[0, 2]` MEX равен `1`. 2. **Максимизация цвета `x`**: - Если `x` меньше `n`, то мы можем включить `x` в перестановку и сделать так, чтобы...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет