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

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

Доброго времени суток, друзья)

Приглашаем вас на очередной раунд Codeforces #175 для участников Div. 2. Как обычно, участники Div. 1 могут поучаствовать в этом соревновании вне конкурса.

Задачи для вас вновь готовила группа авторов в следующем составе: Павел Холкин (HolkinPV), Артем Рахов (RAD), Фефер Иван (Fefer_Ivan) и Геральд Агапов (Gerald). Как всегда благодарим Михаила Мирзаянова (MikeMirzayanov) за системы Codeforces и Polygon, а также Марию Белову (Delinur), которая перевела условия задач.

Распределением баллов публикуем заранее) cегодня оно будет стандартным: 500, 1000, 1500, 2000, 2500.

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

Надеемся, что соревнование окажется для вас удачным, желаем всем высокого рейтинга, успешных взломов и хорошего настроения)

UPD1: соревнование завершилось, надеемся оно вам понравилось)

UPD2: разбор задач уже можно найти здесь)

UPD3: поздравляем победителей:

1) hechuan
2) TroyI118
3) BekzhanKassenov
4) ahmed_aly
5) lxgsbqylbk

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

»
14 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +20 Проголосовать: не нравится
while(standings[0]!={insert your username here})
{
	next_permutation(standings.begin(),standings.end());
}
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Today is the first day of the new solar year! Happy new year to Iranians!

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

Today is the first day of the new solar year! Happy new year to Iranians!

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

I think, it will be a very interesting round!!! Everyone, successful hackings and have fum ;)

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

I think, it will be a interesting round!!! So... Happy Hackings & Have Fun...

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

Happy new year to Iranians and have a nice time

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

nice info, i will prepare next permutation code which i found some time ago in java :P

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

If this round like round 171 doesn't have editorial please tell me to solve all the problems ;)

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

I have just relised that HolkinPV always make Div.2 Contest, Why don't he try to make some Div.1 contest?

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

    Actually I prepare two div1 rounds long time ago) and also not only by my self. Now I take part in the group of authors and we prepare div2 rounds for participants. Maybe we prepare div1 contest) wait) and enjoy our problems)

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

Hope to be an interesting round... Good luck for solving the problems and good luck at hacking ;)

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

Farmer john was lucky for me, and I want that this contest will be lucky for me :D

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

Regarding next round, 176, why is it so early on Saturday? Can you move it on Sunday at normal time 7:30 pm as before please?

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

..::Happy New Year::.. عید بچه های گل ایرانی مبارک more about Nowrouz: http://en.wikipedia.org/wiki/Norouz

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

3003 registered....

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

Зарегистрировалось 3003 человек!
3003 -- палидром!

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

Является-ли последовательность {1, 2, 3} перестановкой (имеется в виду, для системы тестирования).

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

Nice contest, but I don't usually like problems where user machine does matter upon the solution.

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

Как решать E? Я в недоумении!)

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

Уровень задач, на мой взгляд, был A-A-A-D-E :)

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

как решать Д? час думал, не догадался

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

    Нужно было предпосчитать / нагуглить (ненужное зачеркнуть) ответ :)

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

    Пишем n! ^ 2 перебор, ответы до 7 можно найти. Дальше если вывести получившиеся перестановки (часть конечно) можно заметить что они все делятся на группы с некоторой размерностью. Делим ответ на n! и получаем последовательность чисел, вбиваем в OEIS, немного копи-паста -- AC.

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

    У меня два отсечения: 1) Можно сказать, что первая перестановка — 1,2, ... , n. ответ умножить на n! 2) Можно сказать, что первый элемент второй — 1. ответ умножить n. Работает для 15, 16 где-то полминуты (даже если забыть про то, что ответ[2*n] = 0).

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

      Что-то я второе отсечение не совсем себе представляю. Можете поподробнее расписать?

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

        Ну смотрите, если прибавить один (по модулю) ко всем элементам второй перестановки, у суммы тоже прибавится единичка ко всем элементам. Значит, все вторые перестановки делятся на группы по n.

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

      Умно однако с первым отсечением придумано, респект.

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

      А вот для 17 уже 2 минуты. Это значит, что без второго отсечения — 2 * 17 минут, а без первого можно просто умереть. Наличие гугла все испортило. Задачка хорошая.) А жаль.

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

someone explain the solution of problem E please ;)

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

Кому написать по поводу: при обновлении страницы взлом продублировался. То есть вместо одной попыки стало две. Нажимал на кнопку взломать — ничего не происходило, потом появилось две посылки.

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

Математика, математика, математика... Контест — скучнее некуда. Три абсолютно идиотские и легкие задачи. Задача C, которая решается даже синими за две минуты, Задача D — на знание OEISа и мертвый математический гроб — задача E.

Обидно за задачу D. Зачем в ней этот идиотский модуль? И без него все прекрасно можно посчитать. Я почти сразу же решил эту задачу честной динамой и послал ответы, но весь контест не догадывался почему у меня WA3. Задача прекрасно решается без всяких модулей, зачем тут они — ума не приложу. Ну и задача на OEIS в роли задачи D... Браво! Дай бог, чтобы из второго дива хотя бы один человек сдал D динамой, а не тупым запросом в гугл.

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

good problems! thanks :)

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

How to solve D?

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

Hi, A person in my room has a TLE solution because his/her quicksort is binary cut: http://codeforces.me/contest/285/submission/3369236. All time in contest I can't make the test that kill his/her bug. Can anyone show me how to make the test to kill that quicksort code? Thanks.

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

На чём ломали C?

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

A rare one , most of the passed pretests guaranteed passing the systests...

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

I think the number of the tests for D could be more.... 16 was to small, It's possible to get an array and save the answer for each test! EDIT: I saw the editorial! It seems that the solution is making an array!! Interesting! I haven't seen a problem like this!

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

Sadly... C# implementation of quick sort isn't perfect :( My solution for C problem failed.

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

В D при переписывании массива констнатного (1, 3, 15, 133...) пропустил одно число. Сразу после контеста бомбануло так, что прожег половину комнаты со всей мебелью, да еще и рухнула одна из стен, общая с соседями. Теперь я живу в коммуналке, спасибо тебе, "37851".

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

Hi all, a simple question here. For Problem A test case 3, input (3 2), why is (1 3 2) not an acceptable output?

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

respect to the guy/gal who submitted this!

http://www.codeforces.com/contest/285/submission/3375139

answered a D problem in ONE LINE!!

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

so i got TLE for #175 div2 C. But most solutions where similar & passed written in C++. so i tried to write it in C++ after the contest, it passed fast (500ms). furthermore, when i chose Java 7 it TLE at test 8, java 6 TLE at test 7. finally i changed long to Long, then it passed (1312ms)???

so why long TLE, and Long doesn`t?

http://codeforces.me/contest/285/submission/3376354 http://codeforces.me/contest/285/submission/3376365

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

WOW! you are too fast! tnx :)

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

The first time I solved 4 out of 5. The problem D was a little bit tricky for me, but finally I managed to solve it :)

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

Опять у этих двоих одинаковые решения уже по 4-м задачам.

metalopocalipsis : А — 3367731, B — 3368553, C — 3372596, D — 3375755.

lawliet_djez : А — 3367389, B — 3368933, C — 3372757, D — 3375514.

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

По какой закономерности в D числа {0,1,0,3,0,15,0,133,0,2025,0,37851,0,1030367,0,36362925,0} ?

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

    Если я прав, то это объясняется так.
    q[] = {0,1,0,3,0,15,0,133,0,2025,0,37851,0,1030367,0,36362925,0};

    q[i] — количество массивов b[] длинной i, при a[] = {0, 1, 2, 3, 4, 5, ..., i}, и при этом сумма массивов a[] и b[] является правильной перестановкой.

    Объяснение суммы можно прочитать в условии задачи.

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

      Ну ясно, что q[n] (q[i] — количество массивов b[] длинной i, при a[] = {0, 1, 2, 3, 4, 5, ..., i}, и при этом сумма массивов a[] и b[] является правильной перестановкой.) надо умножить на n!. Не ясно почему q[n] будет именно такое.

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

        Надо просто немного почертить :)



        Представим, что слева у нас числа из перестановки A, а сверху — числа из перестановки C. Тогда на пересечении определённой строки и столбца будет стоять число, которое нам необходимо поставить в перестановку B, чтобы получилось

        .

        Ещё немного почертив, нетрудно заметить, что нам нужно из этой квадратной матрицы выбрать ровно N различных чисел так, чтобы в каждой строке и каждом столбце стояло ровно по одному числу. Так как равные числе у нас образуют диагонали в матрице, то всё к сводится как раз к задаче о расстановке ферзей на тороидальной доске (доске, у которой верхняя сторона соединена с нижней, а левая — с правой, образуя таким образом "замкнутость" диагоналей).

        Количество способов расставить ферзи на тороидальной доске размера (2N + 1) * (2N + 1) и есть последовательность A006717 в OEIS.