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

Автор yarrr, 15 лет назад, По-русски
  • Проголосовать: нравится
  • +14
  • Проголосовать: не нравится

15 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится 0 Проголосовать: не нравится

Последний SRM перед TCO...
1. Верно ли, что каждый, кто участвует в TCO Algorithm должен принять участие хотя бы в одном SRM этого года?
2. Верно ли, что квалификации не считаются за этот SRM?

UPD:
Ответы:
1. Нет, это требуется только для top200, чтобы засчитать квал
2. Бессмысленно в свете ответа на первый вопрос.
15 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится
Уже 1 матч подряд система более-менее стабильно работала, так что, как сказал один мой знакомый: "Ну что, писать SRM, или зря нервы не портить и поспать?"
15 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Айда в пять утра сливать рейтинг!
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Ну и как хард решается? (мой упадет если что)
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Так странно что ее не решили. Ты за 6-ю степень знаешь?
    • 15 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится +5 Проголосовать: не нравится

      У меня на нее из-за моих тормозов и из-за того, блин, что вы нормальную джаву, где дек есть, установить не можете было 15 минут. Я послал первое, что не смог легко опровергнуть (в итоге за перерыв придумал тест). Так что нет, не знаю
      • 15 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        По каждому атрибуту построим точку в 3d: (first_slime[i], second_slime[i], third_slime[i]). Задача эквивалентна следующей: построить монотонную цепочку (у каждой следующей точки все 3 координаты >= предыдущей; в цепочке не обязательно столько же точек сколько во вводе) такую, что если каждую исходную точку модифицировать в ближайшую (по Манхэттену) точку построенной цепочки, то сумма будет минимальна. Можно показать, что в цепочке, которую мы строим, можно всегда считать, что у соседних точек две координаты совпадают, а третья +1 (с точки зрения сжатых координат). Отсюда простое ДП за N^3.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Что-то шестисотая не показалось мне шестисотой.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Поленился что-то в 600 минкост писать, как-то уж больно хороший там граф получался. Ну ничего, она упала только на втором челлендже :)
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Блин, только к концу времени кодинга осознал, что в 600 min-cost, который самую малость у меня не работал (забыл 0 добавить...). =(
15 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
Почему плохо писать топкодер ночью:

int d(char c)
{
if ('0' <= c && c <= '9') return c - '0' + 1;
if ('a' <= c && c <= 'z') return c - 'a' + 10;
if ('A' <= c && c <= 'Z') return c + 36;
return INF;
}
15 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Мда, оказывается я в 600 решал не ту задачу. Почему-то был уверен, что машина пропадает после проезда по одному ребру и еще удивлялся, почему у всех этот минкост проходит.

Кстати, интересно: а мое понимание задачи решается для данных ограничений?
  • 15 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Решить можно также. При вычислении веса ребра в сети перебираем дорогу по которой поедем на машине, и выбираем ту, для которой время минимально.

    • 15 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      Так а разве теперь не выйдет что между двумя вершинами V1 и V2 из districts[] нам не будет выгодно поехать только одной машиной и отклониться от пути пешком, зато будет выгодно поехать сразу двумя машинами (по очереди)?