Блог пользователя 163onmyneck

Автор 163onmyneck, история, 2 года назад, По-русски

Привет, codeforces!

У меня вопрос:

Если у нас есть массив $$$a$$$ длины $$$n$$$ (не обязательно перестановка), $$$L_i$$$ — индекс ближайшего слева от $$$i$$$ элемента массива, который $$$≥$$$ чем $$$a_i$$$, а $$$R_i$$$ — индекс ближайшего $$$>$$$ (строго большего!) справа, то какая хорошая оценка сверху на: $$$\sum\limits_{i=1}^n min(i - L_i, R_i - i)$$$?

Я знаю, что если $$$R_i$$$ — больше или равный, то это $$$O(n log n)$$$.

Буду рад услышать ваши ответы!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +14
  • Проголосовать: не нравится

Автор 163onmyneck, история, 2 года назад, По-английски

https://csacademy.com/app/graph_editor/

It says: Internal Server Error

What would you recommend to use instead of CSAcademy's Graph Editor? Thanks in advance

Полный текст и комментарии »

  • Проголосовать: нравится
  • +149
  • Проголосовать: не нравится

Автор 163onmyneck, история, 3 года назад, По-английски

Why can't authors work a little harder and write solutions that are looking good?

For example, this code could be a lot more understanable:

Last round Div1E

Полный текст и комментарии »

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

Автор 163onmyneck, история, 3 года назад, По-русски

Задача 4. Пингвиноведение со всеросса 2015

Вам даны числа K <= N <= 2e5, а так же дана бинарная строка длины N, надо вывести другую бинарную строку N, чтобы кол-во блоков из подряд идущих элементов одного типа было максимум K, а так же чтоб кол-во мест, в которых эти строки различаются было минимальным.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

Автор 163onmyneck, история, 3 года назад, По-русски

Здравствуйте! Я не знаю доказательство этого алгоритма(( Если кто-то знает, можете пожалуйста написать доказательство в комментариях.

Алгоритм:

  • 1) Первым шагом строим Транзитивное замыкание графа (если из A был путь в B, то в этом графе будет ребро из A в B).

  • 2) "Копируем граф". Теперь у каждой вершины будет копия. Если в графе (в том, который мы получили после предыдущего шага) было ребро из A в B, то теперь есть ребро из вершины A, которая находится в левой доле в вершину B, которая находится в правой доле. (По сути теперь у вершины A есть две вершины: AL и AR)

  • 3) В получившемся графе ищем максимальное независимое множество.

  • 4) Теперь если и VR, и VL лежат в независимом множестве, то мы берем V в антицепь.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +33
  • Проголосовать: не нравится