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

Автор Ripatti, 14 лет назад, По-русски
Добрый вечер.

Рад приветствовать вас всех на очередном бета раунде Codeforces.

Авторами задач сегодняшнего раунда являются Ripatti (это я) и Lepetrandr. Раунд помогали готовить it4.kp, MikeMirzayanov, RAD, Nerevar и dlevshunov. На английский язык задачи перевела Delinur.

Всем удачи!

UPD
Победитель - Neverauskas.
Разбор задач.
  • Проголосовать: нравится
  • +64
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится -19 Проголосовать: не нравится
Всем удачи на сегодняшнем контесте! 
  • 14 лет назад, # ^ |
      Проголосовать: нравится -35 Проголосовать: не нравится
    Какое-то массовое минусование)
    • 14 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      Ну как бы автор поста написал уже "Всем удачи!", поэтому нет особого смысла повторять это это сообщение дважды. :-)
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Hope the problems be interesting as usual! =)
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
мой последний контест перед олимпиадой! удачи всем и мне!
14 лет назад, # |
  Проголосовать: нравится +28 Проголосовать: не нравится
Так и не рассказали о себе :)
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
good luck and have fun=)
14 лет назад, # |
  Проголосовать: нравится -13 Проголосовать: не нравится
I do not like this contest, problem statement two is not clear. And C is to difficult.
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
задача E печальна=(
14 лет назад, # |
  Проголосовать: нравится -18 Проголосовать: не нравится
I did get an answer after one hour, i think it should not be rated.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Do not you think that downtime in the last quarter of contest could cause some problems for participants?

May be you should make this contest longer.
14 лет назад, # |
Rev. 2   Проголосовать: нравится +22 Проголосовать: не нравится
The problems are nice but I think these problems should have been put into a division 1 contest (Especially: C, D and E). What do you think?
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Можно получить 5ый претест задачи С(div 2)? У меня на нем почему-то валились 3 разных решения. 
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Они жеж после окончания тестирования становятся доступны, когда в разделе "Мои посылки" кликаешь на номер "посылки".
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
E:
Почему в первом тесте ответ-2
Разве они втроём не успеют залесть в капсулы?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Последний не успевает добежать из-за взрыва
  • 14 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    Через три единицы времени все взрывается, и верхний не успевает добежать.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Ученому из левого верхнего угла бежать 4 хода. А время 3.
    Видимо поэтому
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      Сказано же что жидкость не проходит через правильно работающие реакторы
      Тоисть есть что, жидкость вообще не пройдёт к людям ... или как ?
14 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Сегодня alert'a с кларом, разосланным всем не было.
При том, что обычно рассылается. это ожидаемое поведение?
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Problems c,d,e were tough. Problem a,b didn't have any special tests (or pretests were good) so no hack :(.
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
When I tried to hack problem A, I got an invalid input error said "FAIL Expected EOLN (stdin)", what does this mean?
Missing eol at the last line?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не терпится увидеть претест №6 к D.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Спасибо за контест, жаль не успел дописать E.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
how u guys hackin? Teach me PLS :D i'm newbie

14 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится
Fast System test :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Хорошо хоть претестами по A зацепило. надо же так лажануть
14 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится
Очень понравились задачки. A-D пишутся легко и изящно если чутка подумать. До Е я не добрался =(
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Задачи так-же понравились. Долго и безрезультатно думал над Д, затем глянул Е, но легко и изящно написать уже не успел (минут на 5 раньше-бы посмотрел)  :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Can anybody explain me how to solve Problem C?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Let's find divisors of m.

    We can notice, that if m / mindivisor < k  - therefore u can not split any log, so Marsel wins.

    Ok, let m / mindivisor be  >= k.
    Then, optimal strategy for both players is to split every log into mindivisor logs. 
    And now we can find the answer - if  n is odd, the last log will be splitted by Timur, and Timur wins. 
    Otherwise - Marsel wins.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      "Then, optimal strategy for both players is to split every log into mindivisor logs." Can you please explain/proof this?
      • 14 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится
        If N is even Marsel win anyway because he can repeat Timur's turns.
        else if Timur can split one log to mindivisors logs, He win as Second witn even N
    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      "Then, optimal strategy for both players is to split every log into mindivisor logs."
      It gives the correct result, but it's not obvious, and, I suppose, not true.

      One of possible winning strategies here is symmetric strategy. If n is even, Marcel has symmetric strategy, so he wins. Otherwise, if Timur can make a turn (m / mindivisor >= k), then he splits one log, so that it parts can't be splited again, and so he gets symmetric strategy for remaining logs.

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
What was the main idea for C   ?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Consider the situation where N is even. Pair up the logs. Then the opponent can always copy your move for another pair, so you always lose. What if N is odd? You can deduce from the even case that it is equivalent to play on a single log with length M

    Now the rule goes as follows. When you play on a single log with length L, you always try to split it into logs with length L' ≥ K such that is even. By the above argument opponent always loses. If none of the allowed divisions leads your opponent into even case, try to recur on each possible splitting and see if you can win. It runs pretty fast.

    Be careful to handle the case when N = K = 1.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    If Timur can't move at first, then Marsel will obviously win.

    Otherwise, we have two cases:

    - N is even, Marsel will win by imitating Timur's actions since at that time, logs are paired up.

    - N is odd, Timur simply destroys a log of length M and puts Marsel into the an even position, at which who moves second will win (it is Timur then!). You can see there is always a way to divide the log so that you can not make any move on the newly formed logs (repeatedly divide M by its divisors while this does not make M less than K).
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
it used Sprague-Grundy function.
14 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится
Контесты от Ripatti как всегда на высоте!
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Nice problem set! Even a little bit harder than usual :D
And I love the fast system test :x
14 лет назад, # |
Rev. 6   Проголосовать: нравится +1 Проголосовать: не нравится
I kind of doubt if test 23 for problem A is a valid input(I can't see the whole data because of ellipsis at the last line). According to the input constraint, every line contains 100 characters at most, so I used char str[3][101];  during the contest and failed unexpectedly, but char str[3][102]; got AC.
So how to explain this? 
  • 14 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    May you say your position in standigs .
    It helps to see your code
  • 14 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится
    Input
    aaa
    aa


    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    using namespace std;

    int main () {
        freopen("input","r",stdin);
        char a[2][4];
        for(int j=0;j<2;++j)
            fgets(a[j], 4, stdin);
    //a[0] is "aaa\0"
    //a[1] is "\n\0[trash]"

    //so strlen(a[1]=1)
    //and your loop is uncorrect

    //tested with g++
        return 0;
    }

    • 14 лет назад, # ^ |
      Rev. 4   Проголосовать: нравится +2 Проголосовать: не нравится
      Update: 
      It turned out I didn't grasp fgets until now. Your code snippet helps, thanks. 
      The testcases for problem A are OK. 
14 лет назад, # |
Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится
Кто-нибудь писал в Е паросочетание? 900^3 проходит?
14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
I don't usually comment, but I really liked the problems, especially E.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
а кто как D решал?
я написал на графах (как в эдиториале http://www.topcoder.com/tc?module=Static&d1=match_editorials&d2=srm150, RoboCourier), но не успел заслать. после этого по TL не проходит
14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
discussion and sample solutions should have been given by now.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Can anyone explain D?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Когда будет разбор?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Guys can i post A,B,C problems in my site? :D is it illegal? 
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
i liked E , however it confused me , because of this part of Problem :
"Any scientist in a minute can move down the corridor to the next lab" .