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

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

Квалификаионный раунд начинается 22 ноября в 4:00 (утра) MSK и идет трое суток

Призы

  • 1st Place: $10,000 USD
  • 2nd Place: $2,000 USD
  • 3rd Place: $1,000 USD
  • 4th-25th Place: $100 USD

Футболки

Футболки получает топ100 второго раунда.

Регистрация
FAQ(eng)

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

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

When the contest starts how can I see the problems??? Where can I submit my codes??? And it's problems are programming problems(like http://mirror.codeforces.com/problemset) or something else???

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

Я, конечно, понимаю, что мои шансы получить приз ничтожно малы, но все равно какие-то они "жлобские"((

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

    Когда они в свое время все сперли из GCJ структуру призов они тоже сперли (а еще забавнее, что почти один в один сперли T&C)

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

Does the solution have to read/write from standard input/output or from file?

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

Если скачать input file то появится ли окошко, где можно будет отправить output file и код?

UPD: ответ -> Да

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

    почему input файл — непонятный ? там 2020... а должно быть 20 20 ...

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

      Если речь о первой задаче, то ты небось в виндовой кодировке смотришь, притом в плохом редакторе который не умеет переносить строки если разделитель просто \n вместо \r\n.

      Far 3.0 например вроде бы справляется с этой проблемой.

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

        спасибо, из этого не успел отправить задачу

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

          Ну там ещё две задачи есть. А вообще стоило сначала скачать прилагаемые тестовые файлы ввода и вывода — там такие же переносы строк. У соревнования специфичный формат — можно не торопиться, но нужно тщательно себя проверять.

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

Maybe someone will share how he/she bypasses national firewall. I cant access facebook.com because of national firewall. Tried proxies from proxynova.com, failed. :(

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

Ввод-вывод через файл или с клавиатуры? Я как то упустил этот момент)

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

    Об этом во-первых выше уже спрашивали, во-вторых если хотя бы почитать задачу и правила отправки — то вроде ясно что поскольку проверяются ответы а не решения, то это без разницы :)

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

Sorry , but I'm not familiar with the system of getting the output , how can I get my output into a file after reading the input from a file? Thanks

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

    use standard input/output routine , then
    add this line in beginning of main()
    "freopen( "out.txt" , "w" , stdout );"
    and include "cstdio"

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

    You can use < and > to redirect input and output on command line (both on linux and windows).

    For example: - "program.exe < input.txt" ("./program < input.txt" on linux) will run program.exe with input coming from the file "input.txt" (as if you were typing the input that is written on this file) - "program.exe > output.txt" ("./program > output.txt" on linux) will redirect output to file "output.txt" (and create the file if it doesn't exist). Which means that anything that would be printed to the prompt will be written to the file instead.

    So, suppose you get the input file from hacker cup ("problem_x_input.txt"), all you need to do is: "program.exe < problem_x_input.txt > output.txt" and you will both read from the input file and output to the other file. Then just upload it :D

    I find it way easier to do this than to open a file on my code, etc. (Also, this is neat to know for every other contest in general).

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

      if you are using an IDE, this could be useful:

      BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream("in.txt") ) );
      PrintWriter out = new PrintWriter( new BufferedOutputStream( new FileOutputStream("out.txt") ) );
      

      and dont forget to close the streams:

      br.close();
      out.close();
      
»
11 лет назад, # |
  Проголосовать: нравится +40 Проголосовать: не нравится

Я вот участвую первый раз, подскажите мне. Правда ли, что если отсабмитить ответ с, например, строками вида "Case 3: YES" вместо "Case #3: YES", то раз система спокойно принимает его, это приведёт к WA при тестировании? Если да, то это просто мегатупо: не знаю, у кого как, а вот я на GCJ регулярно забываю про эти решёточки. Но там хотя бы тестирующая система услужливо подсказывает о Presentation Error и предлагает ресабмитнуть ещё раз.

Может здесь чекеры добрые и принимают ответ и так и так? Если нет, то это шикарная возможность обломаться =( Слава богу, я хотя бы заметил это ещё на первой задаче.

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

    А использовать какую-нибудь testing harness, чтобы избежать сравнения глазками — это не православно?

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

      Знаешь, далеко не все используют автоматизированные средства для локального тестирования. Особенно когда ответ не единственный и надо писать чекер (хоть я и не уверен, что так бывает на FHC, но на GCJ точно бывает).

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

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

        Ну, чекер то писать никто не заставляет. Я это делаю только если добавляю стресс тест — а так да, глазками тоже иногда приходится

        И да, лучше бы проверка была, тут вопрос нету

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

        "В частности, можно случайно отсабмитить ответ как исходник, а исходник как ответ и не обнаружить этого до финальных результатов."

        Это легко можно проверять — после сабмита можно глянуть details и увидеть аутпут, который послал.

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

          И ещё в details можно, по идее, скачать посланный код, но у меня эта кнопка не работает

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

    У меня не приняли output, когда я нумеровал строки с нуля, а не с единицы, так что какая-то проверка всё-таки есть.

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

    В этом году кажется добавили проверку формата, я выводил время работы в аутпут и у меня система не приняла файл, сообщив об ошибке.

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

      Ну вот, значит, на наличие решёток не проверяют. А может там действительно добрый чекер, который их игнорирует. В любом случае, надо быть аккуратнее.

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

    То что, чекер оказался добрым или нет?

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

      Не знаю — я обнаружил, что не поставил решёточки, ещё на первой задаче, и успел исправить. Хотя, можно было на квале попробовать и с неправильным форматом.

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

      К счастью, оказался.

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

во время контеста я послал одну из задач с виндовыми окончаниями строк (CRLF), и чекер на нее выругался. А сейчас к ней поставлен вердикт AC. Ну и бардак в этом фейсбуке :)

кстати нагуглил полезную штуку по этому поводу — чтобы в винде писать файлы с юниксовыми окончаниями строк, надо их открывать с флагом wb. Т.е., freopen("output.txt", "wb", stdout) в g++ MinGW, open("output.txt", "wb") в python

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

Подскажите, пожалуйста, как в С правильно учитывать вероятность солнечного дня.

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

    Там вроде решения появились. Правда ответа на этот меня самого интересующий вопрос я пока не разобрал :)

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

      Я считал такую динамику: вероятность того, что сыграно i игр, выиграно из них j и вероятность солнца в i + 1 день k / 1000. Пересчет очевиден. Код

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

        Но не очевидно, почему это укладывается допустимую погрешность.

        Казалось бы, на каждом шаге оставляем только 3 знака у вероятности солнечного дня — почему же ответ получается с точностью 6 знаков?!

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

          Вероятность того, что день будет солнечным всегда будет с 3мя знаками в таком случае.

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

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

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

    Если не заметить про 3 знака (как сделал я), то есть общее решение — рассчитаем динамику (база, мы выиграли, соперник выиграл, увеличений с момента базы, уменьшений с момента базы), где база — это 0, 1 или начальная вероятность солнца

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

      А почему 5 параметров? Из "мы выиграли, соперник выиграл" одного же достаточно?
      Я такое и писал от 4-х параметров, и то пришлось упихивать, чтобы 100 макстестов нормально успевали.
      И получил (видимо, как и все) 20 тестов, далеко не макс.

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

        Тогда есть неявный параметр "общее число сыгранных сетов". У меня рекурсивная динамика с мемоизацией, на макс тесте работает секунды полторы на кейс

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

          А что базу надо в 0/1 переделать как проверяли? В длинке?

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

            Нет, тупым больше — нас ведь отклонения в пределах погрешности не волнуют

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

        У меня тоже была 5-мерная динамика, как у Egor'а. У меня на Java она не помещалась в память, когда сделал ее по слоям стало O(K^3) памяти и 1 тест выполнялся за ~3 секунды.

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

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

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

            У меня массив был [K+1][K+1][3][2K+1][2K+1] ~= 12K^4 И это double. Итого 9.6Gb, а у меня всего 8.

            При переходе к слоям стало: [2][K+1][3][2K+1][2K+1], что уже меньше 200Mb

            Ну, да, протупил, множно было последние две размерности по K+1 сделать, тогда было бы в 4 раза меньше...

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

      Я написал такое же решение, только так и не смог отловить багу на 4ом сэмпле — выдает 1 вместо 0.999996. http://pastie.org/8508220

      Помогите кто-нибудь, пожалуйста?

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

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

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

          Ну да, бага была в этом.

          У меня была такая логика:

          sunnext = suncur * (1 - pw) + (suncur + pu) * pw = suncur - suncur * pw + suncur * pw + pu * pw = suncur + pu * pw

          Видимо, эти штуки с отбрасыванием лишней части от единицы и нули меня и подвели.

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

            Нет, все равно бы не работало — там нелинейно текущая вероятность влияет на следующую

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

Кто-нибудь может рассказать как пользоваться интерфейсом контестов? Я вот не смог без помощи добрых людей зайти в сам раунд, а теперь не могу найти результаты.
Если бы не ссылка FAQ из поста, то ещё и схема раундов была бы непонятна.

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

      Как такая ссылка получается?!

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

        Ну там не для слабонервных действительно всё сделано. Я до сих пор выкручивался так:

        Первым делом идём на facebook.com/hackercup (или с гугла находим эту страницу)

        Дальше в новостях справа или слева (о-о-о-о) ищем страницу результатов, FAQ, рабочий кабинет участника или что хочется.

        Знает ли кто-то способ попрямее?

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

          Никогда бы не догадался, что новости могут быть и слева и справа.
          Думал, что вертикальная палка отделяет новости ото всяких связанных страниц и т.п. Хоть на том спасибо.

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

А кто-нибудь понимает, зачем в третьей харде выставлять ограничение в 100 тестов, а потом все равно давать 20?

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

    Я тоже это заметил. Вообще, непонятно, почему бы не писать точное количество тестов в мультитесте.

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

В задаче Tennison я поймал легкую подставу:

...rounded to 6 decimal places (quotes for clarity only). It is guaranteed that the output is unaffected by deviations as large as 10^{-8}.

Глаз старого олимпиадника парсит 10 - 8, я вывожу много знаков после точки и получаю fail на систесте :-)

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

    Да они вообще неправы в этом месте. Чекер похож на fc, проверки на сэмплах/small input на их стороне нет вообще никакой. Например, совершенно неочевидно, есть ли проблемы с переводами строк, если через сравнивает посимвольно. Или с лишними пробелами. Или еще с чем-то.

    Вон, YuukaKazami не прошёл, потому что послал только первую и выводил ответ не в том регистре.

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

      У меня прошла первая, несмотря на то, что я выводил "Case #1:YES" (без пробела после двоеточия).

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

      Прям fc врядли, но по токенам — скорее всего. В том году я послал вместо аутпута свой код (просто перепутал местами), их проверка это проглотила и в общем была веселуха :-)

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

        Меня в прошлом году задисквалили, потому что я код послал, но не от той задачи.

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

В разборе первой задачи есть фраза "Finally with 20 cases and 5 minutes to upload the output, you can actually detect the squares by reading the input file with your own pair eyes :)" А что сабмитить вместо кода если решаешь инпут руками?

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

    Текстовое описание

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

      "Я посмотрел глазами квадрат ли это", повторить 20 раз?

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

        Примерно. Повторять 20 раз не надо