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

Автор NALP, 14 лет назад, По-русски

Друзья, всем привет!


Буквально через пару часов состоится очередное соревнование - Codeforces Round 101 для участников Div. 2, но традиционно остальные могут поучаствовать вне конкурса.  Он был подготовлен небольшой командой авторов: я (NALP), Полина Бондаренко (Polichka) и Геральд Агапов (Gerald). Как всегда с нами были Артем Рахов (RAD), Мария Белова (Delinur) и Михаил Мирзаянов (MikeMirzayanov).

Немного об авторах: все мы учимся в Саратовском Государственном Университете на факультете Компьютерных Наук и Информационных Технологий на 4-ом курсе. Сейчас в свободное от соревнований и задач время сдаем зимнюю сессию :) Я составляю 1/3 от команды Saratov SU#2, а Гера с Полиной - 2/3 от Saratov SU#1. Мы бы хотели, чтобы наши раунды стали доброй традицией на Codeforces, и скоро вы вновь увидели нас в числе авторов.

Мы надеемся, что сегодняшние задачи понравятся всем участникам, и каждый займет заслуженное высокое место в итоговой таблице. Сегодня Вы будете помогать Деду Морозу, Снегурочке, Васе и другим персонажам. Все совпадения с реальными людьми случайны :)

Баллы по задачам сегодня распределены следующим образом: 500-1000-2000-2000-2500

UPD: Вы уже можете прочитать разбор задач

UPD: Спасибо всем за участие! Раунд выдался достаточно сложным, только один человек среди всех участников (включая Div. 1) решил все предложенные задачи - это akim239. С чем мы его и поздравляем!!

UPD: поздравляем Top-10 участников в конкурсе:
3. frp
6. hex539
7. not
10. ggbuaa
  • Проголосовать: нравится
  • +147
  • Проголосовать: не нравится

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
пусть этот раунд пройдет также хорошо, как CFR #100
»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +8 Проголосовать: не нравится

Не пора ли опубликовать данный пост на главной странице?
UPD. Хотелось бы узнать разбалловку задач.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Good luck and have fun!)
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
У меня одного CF притормаживает?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Спасибо) Обязательно поучаствую. Успеха всем!
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Чёрт! Дед мороз всё-таки реальный человек??
»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -18 Проголосовать: не нравится


»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +2 Проголосовать: не нравится

Почему я в Праге!? Опять я пропускаю контест! А во всем виноваты временные пояса...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
Three witches watch three Swatch watches. Which witch watch which Swatch watch!
»
14 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

я один как лох битый час в задаче B думал, что поле ограничено?

вечно не читаю условия нормально

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
Господа, ну вот что это такое? Ну делать, что ли, нечего? Да еще и зарегистрировали прямо перед контестом. Смех смехом, а правила надо(хоть чуть-чуть) соблюдать. Не говоря уже об элементарном чувстве такта.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится
Мне кажется что примеры к задаче 
В не правильные.А именно 3 и 4 примеры.
  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Третий пример:

    Камень летит параллельно оси Y, минует 3 строки, после чего успешно падает на квадрат с номером 5 (критерием успешности, как указано в задаче, считается нахождение камня строго внутри квадрата, не касаясь его рамок). Таким образом, ответ: 5.

    Четвёртый пример:

    Камень опять летит параллельно оси Y, минует 2 строки, падает ровно на границу квадратов 3 и 4, таким образом не давая нам разрешения утверждать, что попал в квадрат (по условию задачи). Следовательно, ответ: -1, как и во всех случаях, когда камень не попал в квадрат.
    Так где ошибка в примерах-то?

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      Rev. 7  
      Проголосовать: нравится 0 Проголосовать: не нравится

      можете еще раз объяснит 4 пример: A=3 X=0 Y=7.По условию классики представлены являются квадратами тогда должен быть, если камень  лежит на границе и X=0, остаток от деления Y на A равен 0.Объясните пожалуйста  в чем я не прав!)

      Я понял прошу прощения)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
Ну где, где он? Где же, когда он случится? Простор для взломщиков.
Зачем такие сильные претесты во второй задаче?
»
14 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +25 Проголосовать: не нравится

по ходу, результаты контеста были сфальсифицированы 

UPD ура, ЕдРо исключили из избирательных списков!


»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится
В задаче D нужно разбегаться обязательно с точки x[i] - p[i], или можно начать разбег движением в обратную сторону, а потом развернуться в сторону трамплина? Хотя мне ответ на этот вопрос уже сильно не поможет - я задачу за 9 минут не решу.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится
10 тест задача С - я тебя запомнил!
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
Что за 7 претест в Е?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится
как Е решать?
»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +2 Проголосовать: не нравится

че то какой то сложный раунд

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится
Я, конечно, понятия не имею что там не так в моем решении на задачу D. Я даже понятия не имею, правильно ли я понимаю условие. Но больше всего доставило то, что во время раунда CF сначала просто нагнулся, а потом в последние полторы минуты я не мог сделать посылку решения. Я нажимал "Отослать", и ничего не происходило. Я просто оставался на той же странице.
TopCoder 2 : 0 Codeforces
  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +90 Проголосовать: не нравится

    Ничего

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +5 Проголосовать: не нравится
      Петросян Петросяном. А я и сам так считаю. Против статистики не попрешь.
      Задачу понял правильно. Решил правильно, но когда удалял прыжки из отрицательных точек, не изменял нумерацию в одном месте. И так уже 20 раундов подряд. Мне действительно пора не пенсию.
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
        Rev. 3  
        Проголосовать: нравится +14 Проголосовать: не нравится

        Голод обостряет чувства, а сытость - притупляет. Возможно большое количество тренировок и соревнований притупили в вас азарт. Может стоит на время совсем перестать программировать, и заняться чем-то отвлеченным? Вступить в кружек любителей фиалок, попереводить бабушек через дороги, на добровольных началах начать разгребать навозные кучи в свободное от работы время, изучать звезды, или по кабанам пострелять... 

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Не понимаю, если решение неправильное, то надо винить только себя.. при чем тут кодфорсес? То что ты не смог отправить из-за каких-то неполадок это конечно неприятно, но не стоит об этом кричать и тыкать пальцам в кф. Я уверен что команда кодфорсеса делает всё возможное и невозможно чтобы для участников каждый очередной раунд прошел как можно лушче, для всех участников в равной степени.
  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +6 Проголосовать: не нравится
    Ты когда регистрировался, надо было читать условия. В них сказано, что вы можете принять участие, если вы "не будете сильно расстроены, если что-то пойдёт не так" :)
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
How to solve problem C?
  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    I used greedy algorighm, but I don't know if it is correct ot not. (Passed pretests).

    Sort people by ai. // fail() means that there is no solution
    We will have array res, where we will keep name of person, his height.
    Then check: if (a1 > 0) fail();
    h1 = 500000;
    for i = 2..n {
    if (ai ≥ i) fail(); 
    if (ai =  = ai - 1) {
    put this person after previous (remember that it may be not last place!), hi = hi - 1
    } else {
    put this person at the (ai + 1)th place, hi = 500000 - ai
    }
    }
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
Please make the statements more clear.. It take a lot of time to understand what is asked in the problem...
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
что за баг: нажимаю отослать, меня переводит на страницу моих посылок, а отправки нет, и только после нескольких обновлений она появляется
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Я один не могу написать комментарии нормально? У меня какие-то кракозябли вылазят в текстовом поле.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
It's a very good contest with very good questions.
Thank you
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
what hit me?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится
Задача Е. Как объяснить правильность 3-го теста из условия. Расчистить можно все дорожки, количество будет равным. Количество простых путей между парами домиков будет равно единице. (кроме того будут, конечно, и не простые пути, но условию это не противоречит)
  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится
    Cудя по этому тесту петли надо было откидывать. 

    Путь называется простым, если все домики на пути попарно различны.(внизу задачи сноска).










    5 6
    1 1 S
    1 2 M
    1 3 S
    1 4 M
    1 5 M
    2 2 S
    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      О_о
      ну тогда понятность условия оставляет желать лучшего
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        Согласен. По моему мнению, петли выкидывать не надо, если с учётом их у нас получается ровно один простой путь, а сколько у нас «не простых» путей (т.е. включающих петли) — не важно. И мне очень хотелось бы увидеть цитату из условия, утверждающую обратное.
        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится
          вот я тоже так думал, полконтеста решал и даже на время забил на контест от безысходности :(
          потом, правда, вспомнил про задачу С и по-быстрому придумал и написал
          • »
            »
            »
            »
            »
            »
            14 лет назад, скрыть # ^ |
            Rev. 3  
            Проголосовать: нравится 0 Проголосовать: не нравится

            Насчет понятности условий. Вот задача из Хорватских олимпиад.
            Или мне мозгов не хватает или....? НО Я НЕ МОГУ ПОНЯТЬ КАК ПОЛУЧИЛСЯ ЭТО РЕЗУЛЬТАТ ХОТЬ УБЕЙ. Так, что эта олимпиада даже очень хоршая по пониманию условий. Кому интересно почитайте.
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        думаю для этого и дали третий семпл, чтобы можно было точно понять условие...
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
унылый раунд
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
контест для меня закончился на 12 минуте... прискорбно
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
An interesting discovery: B is such a kind of problem, even you know lots of submissions probably would be failed in the system test, it's hard to come up with a vital test case in a short time.  That's very frustrating. 
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Кто там в тройке призеров?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Мммм, тестирование повисло?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
завалилось всё таки моё решение по D, которое не учитывало того что в отрицательном напрямлении нельзя прыгать на трамплине :(
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Thanks for the quick editorials :D
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
Great contest! Thanks Codeforces! A veryyyy small problem caused me 2 WA! The size of an array!! By the way problems were great! Specially E. I love graph problems!
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится
Большое спасибо авторам задач за хорошие задачи, очень понравилась 141E - Большая чистка. Было бы здорово если уровень последующих онли див2 останется таким же... хорошая тренировка.
  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +22 Проголосовать: не нравится
    К сожалению, немногие так считают. Лично я придерживаюсь мнения, что контест не должен быть простым, каждый участник должен подумать и потрудиться. Но мало кто со мной согласен.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
For Problem E ... I separated all the santa edges and elf edges and then used disjoint set to make the tree.i chose one edge from santas side and one edge from the elfs side and kept on iterating and toggling.. if the edges count of santa and elf is same and the total is n-1. Then there is a possible solution.  but I got WA on case 30.. 


Can anyone tell me why my code fails?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
can someone explain solution for problem C ? i couldn't understand the solution from tutorial... failure condition is straightforward, but how to adjust the heights ?
  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится 0 Проголосовать: не нравится

    After sorting:
    First, let h1 = n (or what number you like as long as it is not less than n).
    At step i, assign n - ai to hi and decrease hj by 1 if hj ≤ hi (obviously, these changes do not affect previous order). Therefore, after step i, we can maintain a list of numbers from n - i + 1 to n.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      hi,
      can you tell why your solution works ? idea behind it.
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится
        We process from the head of the queue to the tail.
        Now, instead of choosing values, let's think about choosing ranks for these elements (from 1 to n, 1 is the biggest). Then, we can easily choose value for an element if we know its rank.

        First, there's only 1 element, of course its rank is 1.
        With element i, we know it must be smaller than ai elements, so its rank is ai+1. Inserting this element into the list we created so far will increase the ranks of elements whose current ranks are greater than ai.
        For ex: let the a[] after sorting is {0,1,1,2,2,3}
        Array rank[] after each step (bold numbers are whose ranks are increased after each step)

        Step 0: 1
        Step 1: 1,2
        Step 2: 1,3,2
        Step 3: 1,4,2,3
        Step 4: 1,5,2,4,3
        Step 5: 1,6,2,5,3,4
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
I resubmitted my C and Passed!
count differences between these two codes!
http://www.codeforces.com/contest/141/submission/1024571
http://www.codeforces.com/contest/141/submission/1022993

can u rejudge it please ?!
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится
А почему нет виртуального раунда 101?
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Спасибо за интересные задачи!