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

Автор try_kuhn, история, 5 лет назад, По-русски

Привет, Codeforces!

В среду, 10 июня 2020 г. в 17:35 (UTC + 3) состоится End of the learning — Beginning of the tour contest (Div 3).

Это мой первый раунд (мэшап, так как даже для тренировок рейтинга нет, потому что надо прекращать писать контесты с телефона) с полностью моими задачами. Соревнование будет проводиться по правилам ICPC. По стандарту, штраф за каждую неверную посылку до посылки, являющейся полным решением, равен 20 минутам. За 20 минут до конца контеста таблица будет заморожена.

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

Задачи вместе со мной тестировали Ahmad Ahmadsm2005 Said, Ahmed ahmedfouadnew Fouad, Матвей Irpacci Кулинич и Максим Xennon Карпук. Также большое спасибо Михаилу MikeMirzayanov Мирзаянову за системы Polygon и Codeforces!

Удачи в раунде! Успешных решений!

И чуть не забыл, вот ссылка:

https://codeforces.net/contestInvitation/4036ec99932a47484351d57a812de34c7a4fbb2c

А вот и разбор

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

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

Good luck!

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

А $$$5 \times 3$$$ можно? А если я сделаю список массивов размера 5, размеры массивов соответственно 5, 4, 3, 2, 1? А если я сделаю трехмерный массив размера $$$3 \times 3 \times 3$$$? А одномерный размера $$$10^6$$$ можно? А если я сделал таблицу $$$4 \times 4$$$, содержащую в себе long long, но из-за особенностей хранения типа могу использовать ее как таблицу $$$4 \times 8$$$, содержащую int или $$$4 \times 32$$$, содержащую char? Можно поподробнее, чего нельзя делать, а то у меня еще парочка идей есть.

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

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

    Я тут немного подумал, разобрался. Там скорее всего я сделаю ans % (1e9+7)

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

    Из-за первого вопроса, я подумал, что контест уже прошел и я профукал его. Не пугай так больше!

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

Is the time UTC+9?

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

Чтобы писать красиво $$$10^5$$$ достаточно написать такое выражение между долларами: $$$10^5$$$ (я не знаю, почему доллар заменяется на три доллара, администрация сайта меня по этому вопросу игнорирует)

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

    Ок, буду иметь ввиду на следующих контестах. Спасибо большое!

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

Isn't the penalty set to 20 minutes (in the contest)?

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

Первый контест от l-_-l был лучше

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

    Кому как. Я же ещё во время составления и экзамены писал

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

How to solve F?

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

Кто пишет на С++ и получил по задаче А вердикт "Неправильный ответ на тесте 15" — попробуйте отослать без функции trunc().

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

    Или (int)trunk(a/b), потому что нужно вывести целое число, а trunk() возвращает double

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

    А кто пишет на питоне — пишите на плюсах, а то взятие по модулю работает не так) Вообще такая задачка хорошо проверяет навыки проблемсеттинга)

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

      Спасибо большое! Только я не пойму: это хорошо или плохо?

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

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

        Хорошо, что есть про использование trunc() — это определяет округление отрицательных чисел, которое тоже не очень очевидно само по себе.

        Меня еще поначалу смутило, что числа до $$$10^{18}$$$, а запрашивается их произведение. Решил написать на питоне, чтобы не заморачиваться в int128, ну и столкнулся с этой проблемой) А потом вообще оказалось, что тесты слабые и такого не происходит)

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

          Я кстати тоже удивился насчёт тестов. Я похоже при тестировании задачи в генераторе поставил 1е9, а потом забыл вернуть)

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

            Но генератор на testlib — классная штука!

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

А будет письменный разбор задач, с доказательствами, наблюдениями и т.д?

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

    Да. Я сейчас немного занят, поэтому позже я его опубликую

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

try_kuhn, is it okay if I post a brief editorial here for everyone (since submissions are public now)?

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

Slight editorial (with author permission):

A
B
C
D
E
F
  • »
    »
    5 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Hello! How you did these opening triangles?

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

    You can public it in your blog, I will add link

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

    I will do editorial on russian lenguage then

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

    For F when you turn right you go to another tunnel.So for p1 shoudn't it be 100-a1 for ending in that tunnel and then advancing for 2nd tunnel you should have a1 chance for that ? Or I have misunderstood the question

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

      The statement's not the clearest, but I interpreted "turn right" from On every turn person can turn right with probability a [i] as "end at that tunnel with probability $$$a_i$$$" and "go straight" as "continue to the next tunnel"

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

    Why did you took the path from (1,1) to (i,j) ?I mean what's the reason or intuition behind this.Thanks in advance

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

      Unfortunately, there isn't much intuition. The best I can say is "I've seen this problem before, so I recognized it quickly."

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

Thanks for the contest! Looking for more contest like this one.

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

I think you meant editorial here too instead of parse.

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

Some suggestions:

  1. Try to use MathJax format. For example, something like 1<=n<=1e5 should be $$$1 \le n \le 10^5$$$(use single dollar sign, but not 3 dollar signs) which will be displayed as $$$1 \le n \le 10^5$$$

  2. Try to spell key words correctly. ( guaranteed but not garanted)

Hope you can make better contests next time :D