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

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

Совсем скоро стартует новый сезон командного студенческого чемпионата ACM-ICPC. Например, регистрация на Южный (Саратовский) Четвертьфинал уже открыта. Уверен, среди участников соревнований Codeforces полно тех, кто будет участвовать в ACM-ICPC в этом году.

Чтобы не было мучительно больно за бесцельно прожитые годы, мы открываем серию еженедельных тренировок на Codeforces. Конечно, они будут проходить в рамках Codeforces::Тренировки. Приглашаются все желающие!

Время старта тренировок — примерно 16:10 еженедельно по средам (московское время). В качестве тренировок будут использованы задачи различных соревнований прошлых лет. В дополнение к здравому смыслу несколько простых правил:

  • Мы не будем публиковать до старта тренировки источник задач, прошу решать задачи честно и самостоятельно. В случае использования чужих решений или какого-то другого чита – будем дисквалифицировать. Не хотите тренироваться сами – не тренируйтесь, а портить тренировки другим нельзя.
  • Давайте не будем обсуждать задачи до окончания тренировки.
  • Мы редко будем давать ответы на вопросы по задачам. Если вы нашли какой-то явный баг, то дайте нам знать — исправим, сделаем рассылку с информацией о правке.
  • Если у вас есть тренерский аккаунт (и вы не участник тренировок), то будем рады помощи.
  • Регистрируйтесь на тренировку вашим актуальным составом тех членов команды, кто участвует в ней.
  • Иногда я буду просить кого-то из жюри прошедших соревнований или тренеров других вузов помочь с подготовкой или поделиться материалами – надеюсь на ваше понимание и помощь!
  • Если вы уже решали эти задачи, то либо переключитесь на другую тренировку, либо сообщите об этом через форму вопросов по задачам и вас переведут на внеконкурсное участие.

Первая тренировка 2013-2014 CT S01E01: Extended 2000 ACM-ICPC East Central North America Regional Contest (ECNA 2000) состоится 11-го сентября, примерно в 16:10.

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

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

А почему не по субботам или воскресеньям? Люди работают же.

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

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

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

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

      Неужели в Саратове никто не работает?

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

        пока ты работаешь... враг качается! )

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

        Из тех, кто тренируется для участия в ACM-ICPC — практически никто.

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

    В воскресенье обычно проходят этапы Открытого Кубка, по субботам тоже часто бывают различные соревнования.

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

    По воскресеньям будут кубки, по субботам тоже много других контестов бывает. Кроме того, не забывайте, что в выходные мы иногда хотим иметь выходные :) Для моего расписания и расписания студентов СГУ: среда — наиболее подходящий день из оставшихся.

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

Идея хорошая. Но поставить первую тренировку ровно на десять минут позже времени окончания четвертьфиналов в Украине — забавно =)

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

this contests would be really useful. thanks for this.

If there is good amount of participation, try to increase frequency of contests.

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

Are the problems original or from past regionals?

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

    Sorry, I didn't read the announcement carefully. They are from past regionals.

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

Например, регистрация на Южный (Саратовский) Четвертьфинал уже открыта.

А когда будет? На http://contest.sgu.ru/ пока пусто

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

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

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

Great work !

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

what will be the difficulty of the problem set in comparison with Codeforces's regular contest ??

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

    It depends on a contest. I hope in most cases it will be interesting for the wide range of participants.

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

Will these be rated in any way?

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

Thanx a lot... We were really waiting for this wonderful oppurtunity... :)

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

I know you guys probably know, but,

This is awesome. round of cheers

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

Задачи будут только на английском? А то школьники тоже бы могли присоединиться к этим тренировкам (в рамках подготовки к ВКОШП).

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

    Скорее только на английском. Качественные переводы текстов — большая работа. А учиться читать английский полезно и школьникам.

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

Can I participate in the Pratice without team?

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

looks like a good training for icpc…

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

Очень тормозит полигон, вылогинивает каждую минуту. Не из-за грядущей тренировки?

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

This should be really helpful. Thanks a lot!

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

how many episodes are in a season ?:D

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

how can i participate to this contest when i click contest area threre is no contest availble.

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

Will the editorial of these problems be published after the contest?

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

    I doubt it... editorials aren't normally published for gym trainings. But you can try googling the contest that the problems are taken from, there should be an analysis or something...

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

When can we get to see the test cases?

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

    Tests and other's solutions are available if you solved the problem.

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

      How does one view the test cases? They're not below the source code even for problems I have solved.

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

    You can get test cases of problem in GYM only when your max rating is greater than 2200 (When you become Grandmaster).

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

Did anyone get javascript alert box when announcement came? Somehow i didn't get it and it cost me problem B. I thought long means 64bit, at least in my compiler it is 64bit.

Edit: What is the best way to solve B? I've pre-generated all the k-gon numbers and searched in them, runtime is not good.

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

    My solution: we store one polygonal number for every "index", in a heap, starting with the smallest ones  ≥ s (we can binary search or bruteforce those). Along with the value in the heap, we remember the "index" and order (as in "this is the k-th smallest") of the polygonal number, so we can easily increment it — change it to the k+1-th smallest.

    Now, we keep looking at the 2 smallest entries in the heap; if they're equal, we have one of the numbers we need — take out of the heap all the entries with value equal to that, print them, increment and return them to the heap. So the time complexity, if x =  how many polygonal numbers are  ≤  the largest one we print, is per test case.

    Why should this work? We have guarantee that the largest number we print, L, is at most 232; polygonal numbers grow quadratically (and with large constant for large indices), so it's . For small n, that's enough. For large n, we find out that L is much smaller than 232, because there are quite a lot of chances for poly-poly numbers to occur if we have many polygonal numbers to choose from. So the constants play in our favor if we cut down our searches to the range we need :D

    Surely you notices how many polygonal numbers there are in total for indices  ≤ k: . Despite the good constants for large indices, those are too many if there's a log-factor or bad constant added. Maybe you could make such an idea pass the tests, but it must be hard.

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

      "We have guarantee that the largest number we print, L, is at most 2^32" But in the question it was mentioned that the solution that we will print will fit in long. Then how the 2^32 assumption ? Any intuition would help

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

        It's a 32-bit "long" (the one in C++, not Java). That's at most 2^32.

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

          C++ long is 64bit too, at least in modern compilers. I am using g++ 4.7.2 , before writing the solution i wrote following lines to check

          long int x=1000000000000000000;	
          cout<<x<<endl;
          

          This works fine,no overflow. So i obviously assumed problem setters meant 64bit. I saw the announcement when there was 6-7 minutes left, so i couldn't finish coding.

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

            C++'s long int is only guaranteed to hold values up to 231 - 1. Also, on many modern platforms it is 32-bit.

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

Is each episode about a particular topic or like regular contests there are questions from different topics in each episode?

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

Is it possible to see contestants' solutions?