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

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

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

Через несколько часов состоится очередной раунд Codeforces #166 для участников Div. 2. Как всегда, остальные могут поучаствовать в соревновании вне конкурса.

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

UPD: Распределение баллов будет немножко нестандартным — 500, 1000, 1500, 2000, 3000.

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

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

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

1) xrvpud221
2) xyz111
3) nanoha
4) wyx528
5) GuyUpLion

UPD3: разбор задач уже опубликован, его можно найти здесь

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

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

This group always offers good problems...!!!

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

Сегодня по старинке, первые 300 мест получают те, кто быстро и безбажно закодят первые 2 задачи?

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

Так долго ждали... И дождались! =)

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

Распределение баллов определим чуть позже)
В последнее время стало популярным хранить эту тайну до начала контеста)

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

MikeMirzayanov's contribution is +210 O_O

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

Учавствовал в контесте HolkinPV => стал специалистом. Учавствовал в контесте HolkinPV второй раз => стал экспертом. Участвую в контесте HolkinPV третий раз => ???

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

Нестандартное распределение баллов: 500, 1000, 1500, 2000, 3000

К чему бы это?

Всем удачи! (особенно новичкам)!

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

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

Пятую не трогать.

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

Надеюсь взять реванш за прошлый контест(больно уж плохо я сдал в тот раз).

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

I am sexy and i am no it.

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

Daite mne pou4astvovati

na 1 min opozdal :(

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

its time

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

Мда, одну задачу сделал... Лучше, чем ничего, и все равно, что другие не могу :)

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

Hi authors, Problem C div2 says that any alternative solution is accepted. So this answer for test: 11 3 11122233123 shouldn't be accepted?

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

Сложный контест для Div.2 :(

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

Как Е решается?

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

    Нужно посмотреть на разности между числами. Понять, что если изначально была разность k, то через несколько преобразований мы сможем получить такие и только такие числа: пусть k1 — это k поделенное на максимальную степень двойки, на которую делится k. тогда мы можем получить любую разность вида k1 * x (x > 0).

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

      Доделывается так: k1 делит (ai — 1) для любого i. То есть, k1 — нечетный делитель НОД(ai — 1). Перебираем k1 за корень. А дальше понимаем, что k = k1 * 2^l. Перебираем l, увеличиваем ответ на m — k.

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

      Как из x получить 2 * x я понял, но как получить остальные?

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

Как С решается?

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

    Если [n/k]<=2, то выводим -1. (Вроде очевидно — ведь хотя бы в одно множество попадает два числа — они и будут образовывать прогрессию).

    Пусть n mod k = 0. Тогда в каждое множество можно записать n/k чисел. Первые n-k чисел заполним числами 1,2,3,...,k (по n/k — 1 каждого). Остальные (с n-k+1 по n-ный) последовательностью 1,2,3,...,n. Получим что-то вроде 1,1,...,1,2,2,...,2,...,k,k,...,k,1,2,...,k.

    Очевидно, что если бы хотя бы одна из последовательностей образовывала бы прогрессию, то ее разность была бы равна 1 (Поскольку n/k>=3, то n/k — 1 >=2. Значит, в последовательности-ответе для каждого i=1,k всегда есть хотя бы два подряд идущих числа i). Но очевидно, что число i стоит и на i*(n/k — 1)й позиции, и на (n+1-i)й, из-за его разность не может равняться 1. Таким образом, эта последовательность является ответом.

    Если же n mod k!=0, то оставшиеся ячейки можно заполнить любыми числами.

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

Это чувство... Когда ты получил по D меньше, чем по B

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

for all who had WA #8 in problem D,I think the test case is

abaab 01 2

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

Почему в C(div 2) на 1 тесте не проходит 12332112332 всё понял

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

Как писать Д-шку без хэшей?

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

Кто-нибудь взламывал B на тесте 500 500 97430 .... Вроде должен быть ТЛ, если от элемента матрицы искать в лоб ближайшее простое. У меня не получилось загрузить тест(

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

Понравилась задача С. Вроде не сложная, но думать пришлось =))

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

    да жалко что не успел сабмит сделать) считал своим долгом выводить 123321123321, не догнал что можно сразу сделать так 321123123, зато вот номерок счастливый отхватил

    кстати скажите кто-нибудь как можно быстро сделать это вот самое 123321123321 а то тормозил тормозил

    UPD оказалось проще всего 234112341234

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

Блиииин, уверен на 90%, что Time limit на задаче D был бы взят, если б это был не Ruby...

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

Удалено по причине большого количества минусов.

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

Был ли в D antiheshtest?

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

The problems were excellent! The problem-setters deserve a round of applause.

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

Nice problem set, the writers managed to come up with balanced problems, got 4 out 5.

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

waiting for rating update .....

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

In problem D, I use 2 hash value with int always get wrong answer on test 41, and my answer always is 241238 (the right is 398680), and I use long long with same hash numbers get accepted. Why there is so big difference between them ? Many helps !

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

    I just exchanjed power of prime number from 31 to 29 and 37, then got accept.

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

      You guys use hash without handling conflict, and still got ACCEPTED! How unfair... I found a nice c++ solution(3100030) in my room that use set<string>, and the worst time complexity is O(n^3 log(n)), still very nice, though.

      My first attempt was a Python solution using a Trie, which is O(n^2). It got TLE, saddly. Then I was forced to translate the Python script into C++.

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

        I used suffix array with time complexity O(nlog^2n) in building the array and O(nlogn) for the rest.3108063 This is totally unfair that even solution with time complexity O(n^3logn) can be accepted. The test case should be bigger, say string of length 1000,000.

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

          When the data scale is too large, we will lost some interesting solutions. It's also unfair for some dynamic languages since a loop with 1000000 times may cost about 1 sec. So I think 10^3 or 10^5 is fine.

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

After participating in some contests here, now, I confess that I'm not clever enough as I thought I am :( I'm not sure if continue to participate will make it better; I even can not get to 1700 :(

Any friend has an idea about why I'm not successful here as much as my successful in business software development (I am Microsoft Visual C# MVP 2011)?!

I just like to know if I should continue or break to study more and then come back.

Thanks in advance!

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

Хм... Почему этот контест не отображается в списке моих соревнований. И не повлиял на рейтинг... Никто не знает, почему?

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

Anyone willing to share an idea for E problem?

Sorry accidently posted 'in russian'

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

Anyone willing to share an idea for problem E?

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

Thanks to the creators , for making the catching stuff in the questions BOLD, it really helped!!

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

Задачу C я делал так:

112233441234

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

Unfortunately I missed the contest.. Was celebrating my birthday

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

its showing me new color but old rating :( :( yyyyyy so ?

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

its showing me blue color but with old rating :( :( yyyyyyyyyy so ?

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

It's showing me blue but with older rating 1448 :( why ???

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

Подскажите, пожалуйста, почему это решение для B http://pastebin.com/pLx8hKxx валится уже на первом тесте (3102799) из условия (хотя у меня на машине всё ок):

Ввод 3 3 1 2 3 5 6 1 4 4 1

Вывод 0

Ответ 1

Комментарий чекера wrong answer 1st numbers differ — expected: '1', found: '0'

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

Could someone explain Div2.E problem body? As I understand:

  1. We start with singleton, S = {(x,y)}.
  2. Given some set S of cards, we pick one card (x,y) from S, perform 1 of 3 operations(in third operation we would take two cards), and get new card (x', y')
  3. S now contains both (x,y) and (x',y') We want S to include some subset P.

But it surely isn't correct understanding.

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

Anyone willing to share an idea for problem D without hash? Thanks a lot.

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

Four of the winners took part in Codeforces contest for the first time,the rest one only took part twice....

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

One question: the limit for the Div2 B were n,m <= 500, but what is the point to have such limits, when the max size of test file for hacking is just 256 KB? I mean there were a lot of solutions that could be hacked using a matrix of size 500 x 500, but it wasn't possible because the system won't accept files that big. Many solutions were done in O(n*m*nextPrime(x)) and I think this wasn't the complexity intended to solve this problem. An acceptable one would be done in O(n*m*log(closestprime(x)).

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

Ждем не дождемся Codeforces Round #167