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

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

Квалификаионный раунд начинается 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
  • Проголосовать: не нравится

»
12 лет назад, скрыть # |
 
Проголосовать: нравится 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???

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

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

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

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

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

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

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

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

UPD: ответ -> Да

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

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

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

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

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

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

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

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

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

»
12 лет назад, скрыть # |
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. :(

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

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

»
12 лет назад, скрыть # |
 
Проголосовать: нравится 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

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

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

  • »
    »
    12 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          • »
            »
            »
            »
            »
            »
            12 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +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 раза меньше...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

»
12 лет назад, скрыть # |
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 на систесте :-)

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

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

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

»
12 лет назад, скрыть # |
 
Проголосовать: нравится +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 :)" А что сабмитить вместо кода если решаешь инпут руками?