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

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

Всем привет!

Уже скоро, 13 октября в 19:30 MSK состоится Codeforces Round #206. Автором задач являюсь я и это мой первый раунд!

За помощь в подготовке хочется поблагодарить координатора задач Геральда Агапова (Gerald), Евгения Вихрова (gen) за тестирование задач и Марию Белову (Delinur) за перевод условий на английский язык. Отдельное спасибо Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon.

Разбалловка стандартная в обоих дивизионах: 500-1000-1500-2000-2500.

Желаю всем удачи и очень надеюсь, что Вам понравятся задачи!

Поздравляем победителей! Особые поздравления rng_58, единственному участнику, решившему все 5 задач!

Первый дивизион:

  1. rng_58
  2. sankear
  3. VArtem
  4. sillycross
  5. Endagorion

Второй дивизион:

  1. sola_93
  2. Bega
  3. squirtle
  4. Dixtosa
  5. anupam.kanyal

UPD Опубликован разбор задач.

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

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

Разбалловка задач будет объявлена близже к началу раунда. != Score distribution will be announced soon.

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

I would really love if authors introduce with something about them that what they like, things they are working on, what motivated them to write, how fun is it to write problems and other stuff :)

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -56 Проголосовать: не нравится

Прэбэт всэм, Став лайк братуха

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

Why most div1 contests are either on Friday or Sunday?

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

New author, new type of problems! GL && HF!!!

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

Отлично.Новый автор.Будет интересно поучаствовать.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

Блин, а у меня во время соревнования огонь олимпийский под окнами понесут... Теперь не знаю что выбрать.

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

Ура, контест!

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

Hope your first round Successful.

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

your rating graph is really impressive and motivating.. :)

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

i don't know why but : i have a feeling that it's gonna be an awesome round !

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

Gonna be my first CONTEST , can't wait :D

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

15 минут это еще слишком долго до начала раунда, что бы объявить разбалловку?

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

Как бы осталось 5 минут, а разбалловки всё ещё нет...

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

contest started, and Score distribution not yet announced. >:(

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -18 Проголосовать: не нравится

Score distribution will be announced soon. Soon means after the contest ?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

Порадовала задача А, спасибо.

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

What is test 4 of Div1.B ?!

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Как решать C и E div1?

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится

    в E динамика dp[построенный суффикс числа][сколько переходит в следующий разряд — от 0 до 5]. Отдельно считаем, какие суммы можно получить из 6 чисел из множества {0, 4, 7} и потом этот подсчет используем в динамике

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +10 Проголосовать: не нравится

    Можно делать перебором с запоминанием: функция go(x) пытается перебрать, сколько четверок и семерок мы ставим в последний разряд, и запускается от числа (x - 7a - 4b) / 10, если это число делится на 10.

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

Надеюсь E(div2) не решается бин. поиском и мне не будет так обидно, что ушёл через час после начала.

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

    Либо у меня кривые руки, либо бин.поиск там не подходит, ибо никто не говорил, что функция получится монотонной.

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

I get the feeling that systemtest on C is going to be deadly for many people :D

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

Я, конечно, извиняюсь, но какое решение в B? У меня динамика по состоянию (номер диагонали, количество ашек, количество бшек, <<маска позиций, где можно оказаться с фиксированной строкой>>). Но это жесть, надо держать состояния в хешмапе, надеяться, что их мало, и так далее... Ну не задача это уровня B. Или она-таки решается проще?

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

А когда обновится рейтинг?

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

What was approach for Div 1 C? I did a n*logn*logn approach. seems like it will fail :(

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

System testing in this contest is really fast :) quiet happy about it :D

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

Why was E E.. :)

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

very good system test speed

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can somebody tell a solution of C (Div. 2)? Thanks.

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    the solution will look like L L L . . L R . . R R R

    check the solution for each possible combination of Ls and Rs

    The solution for any combination =

    L*(number_OF_L) + R*(number_OF_R) + (QL or QR * abs(n-2*number_OF_L)-1)

    take the best

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

    I spent the whole time trying to find a dp equation for it but it actually is a simple simulation question. Answer to the problem is MIN(all weights from right arm , first from left arm and rest from right arm, first and second from left and rest from right and so on until all from left arm).

    Take the case when we pick first and second from left arm and rest from right arm.Here, we get the minimum when we take w1 from left, w(n-1) from right , then w2 from left arm and then w(n-2) followed by rest from the right.This will remove the 2*qr overhead from the last 2 weights in the right and so on for the rest of the cases. Hope it helps!!

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    You have to choose some index i (0 <= i <= n), such that the robot takes all the items <= i with the left hand, and all items > i with the right hand.

    The cost of taking the items, will be l * sum of weights of items <= i + r * sum of weights of items > i. Additionally, by choosing i, the robot takes i items with the left hand and n-i items with the right hand. If he takes the same number of items with each hand, or one more with the left/right hand, it's possible to alternate taking the objects. Otherwise, the additional cost for repeatedly taking items with one of the hands will be Ql * max(0, i — (n-i) — 1) + Qr * max(0, n-i — i — 1).

    If you precompute the cumulative sum of all weights in an array, you will be able to find the cost of choosing i in O(1), and you just need to find the minimum cost for 0 <= i <= n.

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

For both last div1 contest , this contest , problem E's score was wrong!!!

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

Вот это финальные тестирование! Очень много решений упало. А я с 600 места до 300 поднялся.

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

Did anybody notice nobody solved problem D for Div 2 (in the contest)?

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

why E is so easy and B is so hard???

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

C(div.2) I have passed all pre-tests, but after system testing has recieved a WA#12. I understand my solution is wrong, but can somebody explain me how to solve this problem.

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Почему такой странный ответ на четвертый тест B div 1?

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

    В комментариях выше есть ответ.

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

      Я вот тоже не понял. 5 cbbbb bcbbb aacbb aaacb aaaac Ответ FIRST

      Если второй игрок будет все время двигаться вправо, то получится что-то вроде "cbcbcbcbc", где b-шек явно больше

      • »
        »
        »
        »
        13 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +12 Проголосовать: не нравится

        Я же сказал, что выше уже ответили. Что ж, мне совсем не сложно продублировать :)

        Игра заключается не в том, что игроки делают ходы по таблице вниз или вправо, а в том, что они прибавляют к текущей строке новый символ и проверяют, что такая строка есть в таблице.

        Поясню на примере теста 4. После первых двух ходов строка однозначно будет cb. Далее по ошибочной логике будет или cbc, или cbb, потому что на первом своём ходу второй игрок для оптимальности пойдёт в таблице вправо. А правильнее же будет сказать, что строка может быть как cba, так и cbc, и cbb, потому что первый игрок может прибавить к текущей строке любой из трёх символов a, b, c, чтобы получившаяся строка была в таблице. Естественно, он сделает строку cba.

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

        Я тоже не сразу понял. Смысл в том что переход по таблице отличается от добавления к строке буквы. Если у нас есть строка cb то можно добавить и букву 'с', и букву 'b', и букву 'a'. Так как строки "cba", "cbb" и "cbc" являются хорошими.

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

          Да уж, было бы неплохо показать это в тестовом примере. Чтобы была задача на программирование, а не на то, кто найдет "подвох" в условии.

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

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

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Ого, очередь решений после контеста выходит больше, чем во время :D

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Very nice problem set, I really liked DIV2 E, you had to pay great care to get it right.

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

какое авторское решение предполагалось в Едив1?

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

I really love this time for competition so let it be traditional. By the way I really love this kind of task, low size of code, big size of thinking. ;-)

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

Can anyone explain why this submission (problem B div 1) getting WA on 4th test case: 4776138?

My answer is "SECOND" because if both player play optimally, the string will be "cbcbcbc" and there are more 'b' than 'a' (but correct answer is "FIRST" and I don't know why). please correct me if i'm wrong?

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

    Read the huge discussion above -- you understood the problem wrong.

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    it's not a simple game on the board — it's game with strings. After each move the string is fixed not the position an the grid. So in the test 4 after second move players have string "cb" and the next move for the first player is string "cba" — this is correct string and so the final string is "cbaaaaaac"and the first player win.

  • »
    »
    13 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    The player are not moving on the board but are actually constructing strings & checking whether they are "good". For the 4th Test case:
    5
    cbbbb
    bcbbb
    aacbb
    aaacb
    aaaac

    • In the first turn, FIRST chooses "c" since this is only good string available.
    • Then, SECOND chooses "b" again because this is the only possible good string of length 2.
    • Now, in the third turn, FIRST looks for the paths with the current string on the board. It find two paths one horizontally left & other vertically down. On horizontal, she has choices "b" & "c". On Vertical path, she has choices "c" & "a". She chooses "a" because subsequently it would lead to her victory. .
      .
      the game continue
      .
      .
      Finally the string is cbaaaaaac if both play optimally & hence "FIRST" wins. Hence, this is the correct answer. Hope this helps to understand the problem. I also missed this point and got a WA.
»
13 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Awesome round !! # Enjoyed throughout the ride :P # Couldn't figure out where I went wrong in Problem 'C'. If anyone would wish to take time in helping me, here is the submission detail : 4776717. Author : Expecting more rounds from you.

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

Классно получилось у rng_58 отправил задачу D на 01:59 (4777100 )

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why is my program got TLE when it's already print the output? 4774997

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

Задачи все понравились, спасибо за раунд. Надеюсь, что от вас он не последний. =)

И еще неплохо бы все-таки сортить задачи по сложности. =)

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Wonderful round! if there were the authors of this contest, I would definitely huge them!:D

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

Div2 Problem D reminds me of UVa. :(

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

had nice time.. great contest !! :D kudos to problem setter Alex sir :)

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

+1 любимый автор))

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

"У робота есть две разные руки — левая и правая."

Очень порадовало :)

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

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

А почему рейтинг не обновляется?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

от чего зависит время, когда обновиться рейтинг

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

По-моему всех интересует 2 вопроса:

1) где разбор?

2) когда обновят рейтинг?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I dont knw why I got TLE for Problem Div1 E. As per my calculation the complexity is 42*6*18*3*5000= 68040000 (approximately). Where is my assumption going wrong? http://mirror.codeforces.com/contest/354/submission/4778403

»
13 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

Great problemset. But I can't think of a solution for problem Div1 C / Div2 E. Any ideas please?

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Any hint for DIV2 D?

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

When will the tutorials be published?

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

Such an honor : ))

»
13 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Quite good problem! But I think the points of B in Div 1 can be increase