1. Главная
  2. Библиотека
  3. Высшая математика
  4. Вам дана бинарная∗ строка s длины n . Ваша задача — най...
Разбор задачи

Вам дана бинарная∗ строка s длины n . Ваша задача — найти любую подпоследовательность† p строки s такую, что: Подпоследовательность p является неубывающей. Пусть x обозначает строку, полученную путем удаления всех символов p из s , сохраняя порядок

  • Предмет: Высшая математика
  • Автор: Кэмп
  • #Дискретная математика
  • #Теория графов
Вам дана бинарная∗ строка s длины n . Ваша задача — найти любую подпоследовательность† p строки s такую, что: Подпоследовательность p является неубывающей. Пусть x обозначает строку, полученную путем удаления всех символов p из s , сохраняя порядок

Условие:

Вам дана бинарная∗
строка s
длины n
.

Ваша задача — найти любую подпоследовательность†
p
строки s
такую, что:

Подпоследовательность p
является неубывающей.
Пусть x
обозначает строку, полученную путем удаления всех символов p
из s
, сохраняя порядок оставшихся символов. Строка x
должна быть палиндромом‡
.
Вам нужно вывести любую допустимую подпоследовательность p
, которая удовлетворяет обоим условиям. Если такой подпоследовательности не существует, выведите −1
.

Обратите внимание, что пустая строка является как неубывающей, так и палиндромом.


Бинарная строка — это строка, состоящая из символов '0' и '1'.


Подпоследовательность строки s=s1s2…sn
— это последовательность p=si1si2…sik
такая, что 1≤i1<i2<…<ik≤n
. Символы выбираются в порядке, но не обязательно смежно. Обратите внимание, что пустая строка является подпоследовательностью любой строки.


Строка t=t1t2…tm
является палиндромом, если ti=tm−i+1
для всех 1≤i≤m
. Другими словами, строка читается одинаково вперед и назад.

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

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

Вторая строка содержит бинарную строку s
длиной n
.

Решение:

Давайте разберем задачу по шагам.

Условия задачи:

  1. Есть бинарная строка s длины n (только '0' и '1').
  2. Нужно выбрать подпоследовательность p так, чтобы:
    • p была неубывающей (т.е. все '0' должны идти перед всеми '1', если они есть).
    • Если удалить из s символы, входящие в p, то оставшаяся строка x должна быть палиндромом.
  3. Если такой p нет, вывести -1.

Особенности:

  • n ≤ 10 — можно перебирать.
  • Пустая строка — палиндром и неубывающая.
  • Если x — палиндром, то s можно разбить на символы, которые остаются в x, и символы, которые уходят в p.

---...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое свойство должна иметь подпоследовательность 'p', чтобы удовлетворять условию задачи?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

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