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

Автор MikeMirzayanov, 16 лет назад, По-русски
Контест перенесен на 15 минут. 

Спасибо всем за участие в Codeforces Beta Round #7. Надеюсь, вам понравилось. В комментариях предлагаю обсудить задачи и систему. Пожалуйста, выскажите ваше мнение, особенно если вы заметили какое-то неадекватное поведение системы. И как всегда я с интересом прочту предложения по улучшению.

С сегодняшнего контеста рейтинг по дивизионам для общих контестов будет считаться отдельно по двум таблицам положений участников. То есть подсчет рейтинга будет эквивалентен проведению двух контестов отдельно для каждого дивизиона по общим задачам.

Еще момент. Мне бы хотелось, чтобы кто-то взял на себя разбор задач прошедшего раунда. Это надо сделать на русском и английском языках. Разумеется вы должны сдать задачи либо на контесте, либо в дорешивании. Если у вас есть желание это сделать - пишите в комментариях. Ваш пост будет опубликован на главной и позже доступен по спец. ссылке из контеста.

Огромное спасибо авторам задач: RAD и e-maxx  подготовили и помогли провести контест.

Желаю высокого рейтинга,
MikeMrzayanov

UPD. Рейтинги обновлены. Решения доступны для просмотра.
  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

16 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится
Сдал последнюю на 1:56:56 не успев прогнать очередную версию на семплах :)
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Can you please release the Test data?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
erase 0
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
I don't know, but I think that "erase 0" can help you )
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Символично на контесте e-maxx'а слизать расширенного эвклида с сайта e-maxx'а :оО
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
У меня вопрос кстати по задаче B. Компилятор MSVC на серве какой-то глючный. Я сначала 2 раза послал задачу B и у меня 2 раза была ошибка представления данных на 2 тесте. То же код посылаю под GNU C++, WA #20. Возникает вопрос, почему?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Is there any way to see more than one page of Status?
16 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Большое спасибо авторам и организаторам!
Получил большое удовольствие!
16 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
How can i see the others sources in this contest?

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
i think , i saw problem C in CodeChef.com and SGU ,
what's different between them ?

problem in SGU : http://acm.sgu.ru/problem.php?contest=0&problem=106
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Подскажите, пожалуйста, тест №3 на задачу B
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Контест неплохой. Задачи неплохие. Спасибо авторам.
Вопрос непосредственно к создателю, Майку Мирзаянову:
 - Вы сказали, что рекомендуете читать решения топовых участников. Планируете ли вы открывать решения участников или нет?
Не могу сказать, что испытываю в них острую необходимость, просто интересны планы.

Крошечные погрешности в интерфейсе:
    Когда начинается или кончается контест выскакивает окошечко с текстом: "YeZ", можно было бы изменить)
    Да, когда истекает любой счетчик времени, то в последний момент он показывает: "00:00:0-1". Мелочи.
Мне больше нравится решать самому, и уже если не получается раз в 5ый - читать разборы, такое бывает редко) Может и зря. Разборы просмотреть полезно, даже если решил сам) Но чаще я их не смотрю.
Но, в кодах иногда можно найти интересные приемы. Только топ кодер наталкивает на мысль, что ничего страшного в открытых кодах нет. Но в общем, люди не любят ими делиться с кем попало, и это тоже правильно.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
can i see any data?
16 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Offtopic:
Нельзя ли хотя бы некоторые раунды проводить так, чтобы они не пересекались с тренировкой на neerc.ifmo.ru? ) Раунд #8 опять с ней пересекается
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Рейтинг вроде обновился. Не могу понять, почему с рейтингом 1501 я сержант, а не лейтенант?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
It is intresting to me, why Rizvanov got  more points than  Petr, though Petr was 1st and Rizvanov - third.
Or are points given at another system?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
по скольку рейтинг теперь отдельно по дивизионам считается, было бы не плохо иметь возможность видеть и результаты по дивизионам... ну, например, добавить в таблицу фильтр какой-нить, типа "все", "1 дивизион", "2 дивизион"...
16 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
I think this website would better if it own a forum.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
It would be awesome to view source code on the standing page.
16 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
sorry, I think this is not the place, nevertheless  I'm gonna ask it:

is there an available file ( or a way ) to download the problems and print them?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Admins : Could you send an email to every one to remind about the contest few hours before it starts, I miss the last one.

Thanks.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
- If I want to see say Petr's  solution , anyway to see it ?
- I entered the practice contest, but am only able to see the solutions of recently submitted people , not all the ones who submitted.
»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

По поводу задачи C. http://e-maxx.ru/algo/diofant_2_equation Утверждается, что если c%g==0, то уравнение имеет решение, в противном случае не имеет. Доказательство следует из очевидного факта, что линейная комбинация двух чисел по-прежнему должна делиться на их общий делитель. Объясните, пожалуйста, почему она по-прежнему должна делиться на g?

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

    линейная комбинация двух чисел по-прежнему должна делиться на их общий делитель

    g = gcd(a, b)
    a = xg
    b = yg
    pa + qb = pxg + qyg = (px + qy)g

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

      Я, к сожалению, не вижу ответа на свой вопрос(или может я его неверно поставил). Хорошо, останется у нас слева g. Но почему требуется именно c%g==0?

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

        ax + by = c
        g = gcd(a, b)

        Если c не делится на g, то тогда левая часть уравнения делится на g, а правая — нет. Поэтому решений в этом случае нет

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

Посмотрел решения участников по E, но так и не понял. Кто может дать идею?

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

How to solve problem D?

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

    Assume $$$0$$$-based indexing. Let $$$dp_i$$$ denote the degree of the $$$i$$$-th prefix. The length of the prefix, $$$len = i + 1$$$. Firstly, $$$dp_0 = 1$$$, since a $$$1$$$-length string is a palindrome.

    Now, to compute $$$dp_i$$$, firstly check to see if $$$i$$$-th prefix is a palindrome or not. If it is not a palindrome $$$dp_i = 0$$$. Otherwise if the prefix is palindrome, its degree would be = (degree of the first half + 1). So, $$$dp_i = dp_{\lfloor\frac{i-1}{2}\rfloor} + 1$$$.

    To check whehter the prefix of length $$$len$$$ is a palindrome, you have to check whether the substring on the first $$$\lfloor{\frac{len}{2}}\rfloor$$$ characters is the same as the reverse of the substring on the last $$$\lfloor{\frac{len}{2}}\rfloor$$$ characters. To compare substrings, you can use string hashing. One ways is to build prefix hashes on the string and its reverse to obtain hash of any substring in a O(1) time as described in this blog.

    The answer is simply $$$\sum\limits_{i = 0}^{n-1} dp_i$$$.

    Code