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

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

Скоро начнётся Facebook Hacker Cup 2016. Не пропустите квалификационный раунд, который начнётся в 3:00 по Москве и продлится трое суток. Чтобы пройти в следующий раунд, нужно решить хотя бы одну задачу.

В этом году финал пройдёт в Лондоне, так что это ещё один шанс для тех, кто не прошёл на финал GCJ в 2013 году.

Для участия в раунде пройдите по этой ссылке, но сначала нужно войти в Facebook.

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

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

The problems are already accessible if we click on them. Is this a bug? (the timer shows ~6h till contest starts)

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

"Я уеду жить в Лондон
Я уеду туда, где большая вода
Может быть навсегда"
(С)

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

For each problem, you can only download the input once? Or is there way try again like in Google Code Jam...

I download once for A problem when I wasn't really ready, to check format~

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

    It's like the Google Code Jam "large" inputs. You can submit multiple times in the 6-minute window.

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

      I did not realise, you cannot open inputs twice. So I open one input without having code completely done, and can't submit again haha

      Lucky it is only the qualification round, so it does not matter that much as long as I can solve correct one more problem...

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

      Can i get TLE after submission or will they only check if the output files match wjomlex?

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

        You need to generate and upload your output in the 6-minute window. That's the time limit.

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

          and what about the downloading time? I can remember, in the previous year a lot of people got TLE because of not too fast internet speed in the round-1.

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

            Download time is included in the 6 minutes. If you subtract 2 minutes for running the program and uploading the output, you'll still have 4 minutes for the download. The maxinmal input size is 10MB. So if your internet connection can handle 50 KB per second you should be fine. In the qualification round the maximal input is smaller than 10MB, so also a slower connection should be fine. Just make sure that your program is absolutely correct, so you don't waste time here.

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

            We've made sure that the inputs are smaller this time. We guarantee that no problem has more than 10MB of input, though I think for all but one problem we have planned, it's actually < 3MB.

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

              I'd still ask you to consider moving this limit even lower (for about 1MiB).

              I agree that probably everybody will be able to download their tests, but they may have several minutes less to react to found bugs(for example runtime errors like in problem where stack should have been increased). It's huge difference whether you have 5min40sec to fix that or just 2-3mins.

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

What is the purpose of uploading source code along with output file. Is it okay if in the source code that I have uploaded I am reading from an input file(that was in my computer) ?

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

    I think it is just to stop people from cheating -- if they didn't require the source code, then you could solve the problem and then send your friends your code and they could generate the output file from your program and Facebook would never know. At least this way, they can check for similar/identical code. You can implement your program's I/O however you want (so long as you use a free-to-use compiler/interpreter).

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

      Which means complexity of a program doesn't matter much?

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

        It isn't as tight as CodeForces, no. The difference is that on CodeForces, you get 1-3 seconds per test case, whereas on Facebook, you get 6 minutes for 50-200 test cases including download/upload time.

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

          After i downloaded the text file of boomerang then i copied input from the file and pasted it in command line but my command line didn't detect new line. I mean if there is a test case like this

          50

          100

          It took it like 50100 because of which it couldn't give output. What should i do in such case for next problem?

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

            I would recommend not ever copy/pasting for contests. Situations come up like this every once in a while, and it is hard to determine that is what is wrong. I would recommend that you either use file I/O (e.g., fstream in C++) or file redirection. For example, if you are using Linux or OSX, and your program is called prog, your input is in input.txt and you want your output to go into output.txt, then you can use the command: ./prog < input.txt > output.txt . I'm not sure what the Windows equivalent is. But then you're sure that the input is exactly as Facebook sent it to you as.

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

            use redirection. if you are on windows, do this a < inputfile.txt > outputfile.txt and on linux ./a.out < inputfile.txt > outputfile.txt

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

          Hi I have downloaded the Input file but I could not Submit my Solution within 6 minutes for Problem A .

          Can I submit again or not ? I can't see another input file that are able to download for Problem A .

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

    As MathCrusader says, it's an anti-cheating mechanism.

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

https://www.facebook.com/hackercup/past_rounds/904578626288920/

Have you noticed this one? It's very nice, until now I had lots of trouble with finding old problems in FHC.

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

Ограничение есть по TL? Моё решение A дает ответь на 3 минута.

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

why dont they mention the size of the input file. i could only solve problem 3 and when i tried to submit, the time expired before the download could finish. if they had mentioned the size of the file, i would have used someone else's computer for faster internet.

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

    In rules they allowed input files to be up to 10M, which is maybe a little bit too much for modem connection, but this is their decision which they properly communicated from beginning. My own input for third problem is actually 2.5M, which is like 7 minutes with good modem — for next round you definitely should search for faster connection.

    from Facebook Hackercup page:

    = Input Files =

    • Input files will be at most 10MB large, and most will be much smaller.
»
11 лет назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

Hi I submitted the solution of problem Boomerang but it said submission failed :| What's the problem with it ?

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

What's the max length of the word in text editor task, or this is unmentioned deliberatly?

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

Guys help needed.What are the java submission specifications?

Should the class be public?What should be the class name?Should I be writing into the output file in my code or can I run my code on Ideone and copy,paste the solution on to a file and submit it?Is there any file name specification?

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

If I click on details for last submission, for problems A,C and D I get a detailed summary with Time of submission, Source Code, Output MD5, and Output for each case shown.

However, for problem B it only shows the first 3 i.e. Output for each case is not shown. Is this intentional/a bug/some mistake in uploading output file on my part?

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

What are the rules regarding using multiple facebook accounts? If the timer expires before I upload a solution, can I register from another account and re-attempt to submit? Since everyone gets a different input file with a different size, and varying internet connection speeds, it is a matter of bad luck if your timer expires, not that its cheating. But I want to be sure. What are the rules regarding this?

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

    While registering it was said that you need a facebook account to register. Now if i am right, facebook has terms like only one personal account per user. So by that i think it would be no.

    But then unless you want to go to onsite rounds (for which they will probably do verification) who cares :P

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

    This is definitely not allowed :)

    All the problems are made to be solved in a matter of seconds if your solution is efficient. The 6-minute timer is meant to give a fairly wide buffer for different connection speeds.

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

As I am new to c++, I need some help regarding-how to use read i/p file and store in the corresponding output file. For example, consider the program to add two nos(having several test cases):

include"iostream"

using namespace std;

int main(){
int t,a,b;
cin>>t;
while(t--){
cin>>a>>b;
cout<<a+b<<endl;
}
return 0;
} How to should I read t,a,b etc from input.txt and print it to output.txt? It would be of great help. Thank you

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

My A takes 125 seconds to run on worst case. :( Is this because of sub optimal solution complexity?

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

Do we have to register for this contest or just submit without registration ?

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

Facebook is filter in my country :( .

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

Как отправить решение? How to send the solution?

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

    If you think that you have a solution, download the input file (on top of the page), run your program and upload the output file and your code.

    Notice. Once you clicked on the download button, you only have 6 minutes to run your program and upload the solution. If your program is too slow or your output format is not correctly formated, you'll probably have no time for fixing it.

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

How many participants will be selected for next round ?

All the participants who will solve at least one problem, will be selected for next round ?

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

Почему не написано что нужно пройти регистрацию у не смог отправить задачу из-за этого Это может выглядеть смешным но обидно а пишет Fail вместо того чтобы указывать что нужно пройти регистрацию "огромное спасибо!!!"

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

Чё не можете обратить внимание на ошибку организаторов

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

Да я ошибся но нельзя было запретить смотреть участникам читать условия без регистрации и за что минусы за правду может вы все крутые такие говорите про себя что новичок какой-то

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

When will the results be out ?

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

Now since the round is over, can anyone tell what is the optimal complexity for 1st problem? I did it N**2 log N. Took around 40 seconds on my computer for the input file :\

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

Will we have a mirror gym contest to the round to verify our solutions like the last year? :D

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

Every year there is a qualification round, which means absolutely nothing but adds certain probability (in my case near 100%) of not competing in the tournament. I would be really happy to get some notification about this event in the next year. By the way, I heard the same story from my friends for a lot of times. Why the qualification round even exists? I hope round organizers would read this and make something about it.

P.s. In my case it's related to the exams in university which start every year in 11-12 January (so I don't visit codeforces for several days before it).

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

I've added the round to the Gym: 2016 Facebook Hacker Cup, Qualification Round.

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

Hope for more and more 0AC problem...

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

For the fourth problem, in the editorial it is mentioned to sort the strings first and then apply DP to get the best 'K' words. It is somewhat intuitive to sort the words first, but is there any formal proof to this?

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

How to solve last problem if we does not need to delete last printed word?

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

    It's the same, just don't add the length of the last word to the answer.

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

    Build trie, with path compression (leaving only the nodes which are either the end of some word, or has more than 1 son) there would be about n nodes left.

    Now,
    DP[i][j][0] is the minimum cost of starting with the string that ends in node i, and then going through the subtree of i , printing j words, and going back to node i.
    DP[i][j][1] is the minimum cost of starting with the string that ends in node i, and then going through the subtree of i , printing j words, without going back to node i.

    DP[i][0][0] = DP[i][0][1] = 0

    If node i is the end of some word, DP[i][1][0] = DP[i][1][1] = 1

    Now , go through all sons of node i, and for each son x, update DP[i] as follows.

    DP[i][j][0] = min(DP[x][t][0] + DP[i][j - t][0]) + 2 * len[i][x] for each t between 1 and j
    DP[i][j][1] = min(DP[x][t][1] + DP[i][j - t][0] + len[i][x], DP[x][t][0] + DP[i][j - t][1] + 2 * len[i][x]) for each t between 1 and j

    Please correct me if i made a mistake.

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

в 1 раунд — это одна задача с квала, во второй — <=500 в 1 раунде.. Все верно?

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

    нет, чтобы попасть во 2 раунд нужно набрать баллов не меньше, чем 500. То есть место может быть и 1000

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

      ну это само собой!

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

        Для меня главный вопрос — решат ли первые 500 все задачи или будет "право на ошибку" :) в прошлом году право на ошибку было, в этом я тоже сомневаюсь. В квалификации 636 решили всё, в первом раунде должно быть посложнее, так что вряд ли будет 500.

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

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

          Но вообще немного глупая система; в GCJ аналогичный квал с их "наберите Х баллов, можете просто посабмитить все small" вносит намного меньше рандома. Разве что в самом деле задачи будут на порядок сложнее :)

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

            Система Google Code Jam мне тоже нравится больше — мимнимальный набор баллов, которые можно получить сразу и быть на 100% уверенным, что они уже никуда не денутся, и большая сумма баллов которая может исчезнуть из-за ошибки. Плюс уверенность в том, что условие задачи было понято верно после ACed small input больше, чем после нескольких примеров в тексте задачи.

            У меня уже была теория, что не всегда логичные правила Facebook Hackercup объясняются как раз желанием организаторов дистанцироваться от GCJ, даже если это делает соревнование хуже.

            По Facebook — в прошлом году я смог проскочить в следующий раунд с одной неправильной задачей. Сюрпризом было то, что та задача, где я точно знал ошибку, тесты проскочила успешно (рандомная функция, формирующая индивидульные тесты не подкинула мне тот тест, на котором моё решение заваливалось), а та, в которой был уверен — завалилась. Это несколько испортило впечатление от первой выигранной футболки — вроде и радостно, а вроде и как-то нечестно.

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

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

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

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

          Кстати, хотел поинтересоваться, разве в прошлом году все задачи решили меньше 500 человек? А то на фейбуке пишет, что нет (скрин прилагается) :(

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

            И правда — пришлось немного освежить память. Это ещё одна причина почему футболка в прошлом году для меня не была очень радостным событием.

            В том соревновании были проблемы с очень большими input файлами (19 Mb в одном случае), заранее никто о таком не предупреждал, поэтому поднялся вой. В итоге организаторы решили принимать "ручные сабмиты" у тех людей, которые пожалуются на медленное соединение. Т.е. в обход правил можно было сдать задачу ещё раз, пожаловавшись на плохое соединение.

            На момент окончания соревнования до принятия "ручных сабмитов" проходной балл был 75 (т.е. у 500-го человека было 75 баллов). После обработки и включения "ручных сабмитов" в результат — это то, что на скриншоте — у человека на 500-ом месте стало 100 баллов.

            Организаторы, чтобы сделать это отступление от правил более справедливым, решили оставить проходной балл на уровне 75-ти. Поэтому прошли люди и с одной нерешённой задачей (такие как я).

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

How do we solve Problem B (High Security) using max flow?

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

Hacker Cup 2016 is running and a few people haven't received 2015 edition's t-shirts yet.. could someone check this? Originaly asked on Facebook..

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

GL & HF

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

No FHC 2017?