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

Здравствуйте!

Пришла пора второго раунда нашего соревнования VK Cup 2012. Напоминаем, что регистрация на этот раунд также необходима и завершается она за пять минут до начала.

Над задачами работал разнообразный коллектив авторов как со стороны ВКонтакте, так со стороны Codeforces и Саратовского государственного университета.

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

Раунд пройдёт по правилам Codeforces: с распределением на комнаты, со взломами и с обычным падением стоимости задач со временем. Раунд будет рейтинговым как если вы участвуете в чемпионате, так и если вы пишете вне него.

Из всех участников первые 175 пройдут в третий раунд сразу же. Ещё 25 участников смогут выйти в третий раунд через второй Wildcard-раунд, который состоится 28 марта и представляет из себя одну задачу с неточным решением.

Пожалуйста, чтобы раунд для вас был еще интереснее, прочитайте условия ВСЕХ задач.

Успехов!

UPD1: Опубликован разбор задач: http://codeforces.me/blog/entry/4187

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

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

Разбалловка по задачам?..

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

No english version?

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

U NO SPEAK ENGLISH?! :D:D

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

"...предст**О**вляет из себя одну задачу с неточным решением."

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

..предстАвляет из себя одну задачу..

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

В запуске ограничение по времени между посылками очень мешает! Не дома, компилятора нет под рукой :(

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

RAGE.

Как решать A?

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

    dp[pos][end] — количество подпоследовательностей t, оканчивающихся не правее pos, у которых последний символ — это s[end]

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

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

    ans+=cur[i];
    cur[i+1]+=cur[i];
  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +3 Проголосовать: не нравится

    d[i][j] — сколько есть подпоследовательностей/подстрок, которые в S заканчиваются на i-м символе, а в T — на j-м. Пересчет:

    d[i+1][j] = 
    {
    d[i][0] + ... + d[i][j-1] + 1, если S[i+1] == T[j]
    0, иначе
    }
    

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

    Сам придумал ближе к концу контеста, в связи с чем мне очень стыдно.

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

Мне только кажется или в E действительно слабые претесты? :)

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

Почему "подстрока и подпослеовательность" С на 8-ом претесте падает?

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

Надеюсь я не зря в Е писал персистентный Ахо-Корасик с разделяй и властвуй на запросах?

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

Сложновато вышло оО

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

Сегодня обнаружил забавный спецэффект. Послал я задачу D, получил 2230 мс. Затем посмотрел на список сдавших эту задачу и на их времена работы, подумал, что 2230 не хватит, что в претестах не должно быть макс тестов. Затем пооптимайзил и получилось 380 мс. Собственно что вы думаете по поводу использования информации о том, сколько работали программы других участников?

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

    Ну эта информация в открытом доступе. Почему нет?) Я, иногда смотрю на чем задачу сдают мои товарищи, потому что если на Java, то в ней нужны BigInteger'ы)

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

    Думаю, если бы вы всем не рассказали, то у вас было бы меньше конкурентов:))

    А если серьезно, по-моему вполне нормальное использование лежащей на видном месте информации

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

    Я как раз сегодня тоже обнаружил это. Нашел в статусе, сколько памяти занимала E у tourist, убедился, что карась с несжатыми ссылками.

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

Жалко за челлендж задачи B взялся поздно... Оказывается много кто не обратил внимание, что при большой скорости время которое требутеся для достижения нужной высоты может быть сравнимо с eps который они используют. (3х успел, на 4ом челлендже закончился контест).

UPD: да я оказывается просто нереально много челленджей упустил, ещё человек 16 можно было на этом тесте сломать).

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

Superfast systests, thumbs up :)

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

Ололо, 177. Читеров отлавливать будем ^_^ ?

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

Как правильно C решать? Я для каждой конфеты находил 1 или 2 временных интервала когда ее можно взять и запускал потом сканлайн. Но упало на 12-ом тесте. Из-за точности?

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

пичаль, 146 — вне конкурса, жаль слитый первый тур...

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

The contest is over but I still can't view other's code...why ? Need I just wait ?

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

edit: posted in the corresponding thread my apologies the titles look extremely similar :)

Somebody could explain me how this solution pass under the 2 seconds time limit, me and another five people got unsuccessful hacks in my room (my guess is because of the codeforces server speed): http://www.codeforces.com/contest/169/submission/1412269

How can I avoid this kind of situation in the future? Thanks

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

Как же я ненавижу эти задачи с double'ами. Цена невыхода в следующий раунд — количество итераций бипоиска 64, вместо 128. Как результат — болт, а не футболка и прощай VK Cup.

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

I can't decide the complexity of my code: ---> here Is it O(n^2) or O(n^3) ?

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

так и задумывалось, что в див2 С = 1500, а Д = 2000, а в див1 А = B = 1000?

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

Почему проходит это решение. В задаче ограничения на A до 2000 а массив на 1000.

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

    ВОТ, я даже вопрос отсылал жюри, они сказали без комментариев. Я такие решения успешно хакал таким тестом: 2000 1 1999 1..много единиц..1 1000000000 Я так 3 штуки взломал, странно, что после системного тестирование такие решения проходят!

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

Блин, теперь буду хорошо знать, в боре на одну вершину больше, чем сумма длин слов :) В дорешке добавил 10 — прошло

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

Тестирование Div2 зависло(

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

when to update the rating?

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

In the Div.2 problem B, this is a very ambiguous statement : "You are allowed to use not all elements from s." I thought we could never use all the elements of s and this caused my solution to fail.

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

Where can I fill my address if I get a T-shirt?

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

There are many coders failed in problem B Div1 because they didn't make enough iterations in the binary search.

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

W8ing 4 d editorial

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

tourist is going to be the first target at Codeforces!

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

2 floating-point problem, not so nice. I failed problem C because I didn't set precision for cout. Beside that, the problems are nice.

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

Интересно, за сколько до начала вайлд-карда будет объявлен его регламент.

Может некоторым подготовиться надо:)

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

Can someone explain to me what the checker output means?

wrong answer Jury has better answer: ja=99999/999990001, pa=1/10000
»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

Во время контеста я хотел взломать ети два решения по задаче 169A - Домашние дела (Div. 2) :

observer1410298

kenv071409923

на тесте:

1 1 2

1 1000000000

помоему ети решения не укладываются за 2 секунды для данного теста, но они прошли все тесты, непонятно как! Кто нибудь может объяснить, почему эти решения правильные?

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

Could someone tell me why 1417148 got WA on test 7 but 1417142 got Accepted? The only difference is in the function "verify", 1417142 which got Accepted HAD a line fprintf(stderr,"I love Mike Mirzayanov."); ,and WA one didn't. Really fun :)

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

После лучшего за всю мою олимпиадную карьеру командного выступления (мы с Jokser'ом заняли 25 место на опенкапе) вылетел в див2. Печально...

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

Any Tutorials (In English)?? and how do we come to know in whose blog tutorial is posted after each contest??

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

For [http://codeforces.me/contest/169/problem/B](Problem B) , "You are allowed to use not all elements from s." ,it simply implies that we are not allowed to use all elements from s.But the my solution that is accepted ,uses the fact that all elements can be used.I could not pass the pretests due to this ambiguity.Can anybody explain?????

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

    There is a difference between phrases:

    "You are allowed to use not all elements from S"

    and

    "You are not allowed to use all elements from S"

    If you are allowed to do something, it does not mean that you are not allowed to do the opposite.

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

      So if this was actually allowed, then what did the sentence actually want to convey(what was the use of adding that sentence) ,simply nothing... ,I hope this is not a Grammar competition

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

        It's actually a reminding sentence. Problem-setter doesn't want to repeat answering clarification like "am I allow to ..." (yes, you do — in problem statement). Also, it may be a misleading corner case so problem-setter stresses on it.

        Edit: it's not a grammer competition, of course. You will see this kind of sentence often, and in most cases, the purpose of problem-setter is good (i.e. try to make thing clearer, not try to be evil and cheat you :P)

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

      And strangely enough, there is no difference between:

      “It is not compulsory to use all elements from S”

      and

      “You are allowed to use *not* all elements from S”

      still I guess a better statement could have been used.

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

    I also made the same mistake and when I tried to convey the ambiguity above, I got a lot of negatives for my comment. I think the statement was very complex to understand in the contest environment and could be explained in a better way or with a simple test case.

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

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

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

    Мы не на ТопКодере.

    Хотите рейтинг повыше, или как? :)

    Тот, кто выбирает "сабмитим", знает, на что он идет.

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

      Хотим, и сегодня даже получил :) Но разве не неприятно, что из-за тех людей, которые даже не пытались ничего делать, кто-то падает, скажем, во вторую дивизию? Возьмём ещё такой пример: участник действительно решал, но вот не получилось ничего послать. А рейтинг взял и не изменился. Конечно же, этому участнику обиднее не будет, но он же действительно участвовал.

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

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

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

        Кстати, если такое будут вводить, тогда надо будет, наверное, много переделывать. Мы ведь не на ТопКодере:) Там все просто, во время матча доступ только с арены... Иначе задачу достать не получится.

        А тут начнется... Гостевой доступ... На крайняк какой-то кеш гугла... Да и любой желающий может нарушить правила, заведя второй профиль, чтобы читать задачи, даже если их закроют для всех, кто не зарегистрирован на матч. Оно нам надо? :)

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

          кстати, я тут подумал, что никто же не мешает на топкодере создать левый акк и с него читать задачи div-2

          очень часто 500-ка div-2 совпадает с 250-кой div-1, а сдачи одной 250-ки на 240-245 (чтобы не палиться) часто бывает достаточно чтобы попасть в топ-150, а то и топ-100

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

            Некоторые люди так и делают. И некоторые даже успешно баны ловят, когда при синем рейтинге открывают задачу на 30ой минуте контеста, и попадают в топ-10 по этой задаче). Если ip разные, то может быть бан (код совпал... если не хватило ума и заслал задачу во втором), а так ведь ip проверяют, так что при однаковых — бан гарантирован.

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

          по теме: было бы желание, а способ найдётся

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

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

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

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

It took me much time to find out that the c++ compiler on the grading server does not support %Lf (to output long double). Maybe there could be added a warning if you submit code containing %Lf (as with %lld).

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

Any tutorials coming?

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

When will the T-shirts be sent? =D

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

    The announcement section says, "All Round 3 contestants will receive VK Cup T-Shirts". So I think you should participate ( or at least register (?) ) in round 3 to receive T-shirts. Admins, please confirm !

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

хмм, а почему wildcard-раунд не видно в списке предстоящих соревнований?

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

I found that I forgot to register,when submit