Size: a a a

2020 December 15

MB

Mikail Bagishov in pro.algorithms
А теперь посмотри на самый короткий неравный префикс и самый короткий неравный суффикс
источник

MB

Mikail Bagishov in pro.algorithms
Они могут пересекаться не более чем по одному элементу
источник

MB

Mikail Bagishov in pro.algorithms
Если он есть, то его и надо выкинуть, а если нет, то ответа нет. Кажется так.
источник

MB

Mikail Bagishov in pro.algorithms
Ну и такие префиксы с суффиксом ищутся линейным проходом.
источник

MB

Mikail Bagishov in pro.algorithms
сорри если путано
источник

S

Stas in pro.algorithms
Mikail Bagishov
По описанию скорее разделяй и властвуй, чем бинпоиск :)

но по-моему тут есть простое жадное решение
Жадник же за квадрат, не?
источник

MB

Mikail Bagishov in pro.algorithms
Штука которую я сейчас описал, это два фора последовательных
источник

АJ

Артём Jin in pro.algorithms
Я про префиксы и суффиксы слышал максимум в видео на codeforces от земляка, и по сути в данной задаче это не особо играет роли, буду ли я перебирать суффиксы или префиксы. Я могу так же(сори, если я врубил упёртого барана) взять половины(серединный элемент - то самое к, за которым k первых не/равны)  и сравнить, и в нужной мне половине линейный проходом(+1 если не то)  искать нужное, и если получаю равенство, то предыдущий индекс - искомый. Так?)
источник

S

Stas in pro.algorithms
Mikail Bagishov
Штука которую я сейчас описал, это два фора последовательных
Не смотрел ещё.
источник

MB

Mikail Bagishov in pro.algorithms
Артём Jin
Я про префиксы и суффиксы слышал максимум в видео на codeforces от земляка, и по сути в данной задаче это не особо играет роли, буду ли я перебирать суффиксы или префиксы. Я могу так же(сори, если я врубил упёртого барана) взять половины(серединный элемент - то самое к, за которым k первых не/равны)  и сравнить, и в нужной мне половине линейный проходом(+1 если не то)  искать нужное, и если получаю равенство, то предыдущий индекс - искомый. Так?)
Да, я верю что твое решение должно работать
источник

MB

Mikail Bagishov in pro.algorithms
А, кстати я переусложнил
источник

АJ

Артём Jin in pro.algorithms
Mikail Bagishov
Да, я верю что твое решение должно работать
Было бы наверное полезно разобраться в твоём решении, но честное слово, я ещё не таком уровне рассуждения). Я погуглю, но в случае чего я возвращусь сюда.
источник

MB

Mikail Bagishov in pro.algorithms
искать никакие суффиксы не надо
источник

MB

Mikail Bagishov in pro.algorithms
первый несовпадающий элемент это либо ответ, либо ответа нет.
UPD: Хм, все-таки надо подумать, правда ли это
источник

S

Stas in pro.algorithms
Mikail Bagishov
Штука которую я сейчас описал, это два фора последовательных
Да, линия.
источник

АJ

Артём Jin in pro.algorithms
Mikail Bagishov
первый несовпадающий элемент это либо ответ, либо ответа нет.
UPD: Хм, все-таки надо подумать, правда ли это
да, но это медленно
источник

АJ

Артём Jin in pro.algorithms
максимальная длина строки 2 * 10 ^ 5
источник

MB

Mikail Bagishov in pro.algorithms
Артём Jin
да, но это медленно
i = 0
while (s[i] == t[i]) {
   i += 1;
}
if (check(i)) {
   print i
} else {
   print -1
}

?
источник

АJ

Артём Jin in pro.algorithms
да, по одному проверяя он опаздывает
источник

MB

Mikail Bagishov in pro.algorithms
А, кажется я понял.
Ты бинпоиском искал совпадающий префикс.
источник