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

Автор hmehta, история, 6 лет назад, По-английски

TCO18 Algorithm Round 2A and Parallel Rated SRM

TCO18 Algorithm Round 2A and Parallel Rated SRM is scheduled to start at 12:00 UTC -4 on June 2, 2018. You will be able to register for the SRM in the Arena or Applet 4 hours prior to the start of the match. Registration closes 5 minutes before the match begins, so make sure that you are all ready to go.
Click here to see what time it starts in your area.

Algorithm Round 2 Qualified Competitors: https://tco18.topcoder.com/algorithm/online-round-results/ and https://tco18.topcoder.com/algorithm/byes/

Don’t know how to compete in Topcoder SRMs?

Check out this guide to successfully compete in an algorithm match.

You can compete using:

  • Topcoder Web Arena(Beta) - Please watch this video for step by step guide.
  • Topcoder Java Applet - You can refer to this guide here to set up the applet. (Note that those who have Java 8 installed on their machine will see a security issue — You will have to add Topcoder in security exceptions in Java Control Panel. Please refer to the details in the guide here)
  • Проголосовать: нравится
  • +85
  • Проголосовать: не нравится

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

Is there any sever issue in Topcoder?

when I click on your link for "Check out this guide to successfully compete in an algorithm match." it gives me "Page not found" and can't login in web arena showing login timeout

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

No samples with a < n on hard was evil thing to do :)

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

    Would I disappoint you if I say that your solution didn't pass even the given samples? For (2, 2) you output (2, 4, 6) and that is not a triangle.

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

Thanks for competing! :) Here are the round editorials: https://www.topcoder.com/blog/2018-tco-algorithm-round-2a-editorials/

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

    That's fast work getting out the editorial! I had a different approach to the 1K, since I didn't have any ideas for constructing a solution: firstly check a few conditions to reject cases which clearly have no solution, then do a randomised search for a solution! Since there are only 1000 possible test cases I was able to check that they all work.

    The cases I checked for were: - If the sum of squares of the smallest 2n numbers is >= the sum of squares of the largest n, then it's impossible to get all triangles obtuse. - If a=1 it's impossible, because no triangle can have side length 1 with the other sides being distinct integers. - If a=5, n=2 there are no solutions, but the first check doesn't detect it. This is a special case I found when doing the check of all 1000 possible test cases.

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

      Another solution was greedy: keep checking if (i, i + k, i + 2*k) split is fine for sorted remaining lengths and while it is not remove first possible triple (lexicographically minimal).

      It doesn't work for n <= 6 sometimes but you can do full search for them

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

WOW! Intuitive without proof make me pass 500 :)

Greedy pair until less than or equal 10 vertices left. Then try all permutations.

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

    Should work until 4 vertices as well obviously since for 3 or more remaining vertices answer always exists

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

    In 500 I've used recurrent bruteforce from the very beggining.
    Select the edge with the least value, call the next edge selection, if not found, then select the next edge with the least value.
    The fails of edge selection can be only when 3-4 unassigned vertices left.

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

    It's simpler. Check if answer exists, greedy pair until done. Whenever you try to add an edge, check if it's valid and the answer exists afterwards. Since checking if an answer exists is O(1) and checking if adding an edge is valid is O(1), this is O(N2), not O(N3) — for all but the last O(1) edges, "does answer exist?" will always return true.

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

In the TCO2018 rules, I found this line:

** To get the prize, Competitor must have positive points after Online Rounds. In the event of a tie, all competitors with that score will earn a t-shirt.

But it also says t-shirts are awarded to all round 3 participants, does this means that in order to get a t-shirt, you need to participate in round 3 and get positive score in round 3?

(It makes no sense if the "Online Round" in ** stands for any Online Round since it's not possible to advance to round 3 without any positive score.)

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

    Agree with your point. I will have this rectified and make it clear.

    However — It means that you should participate/compete in round three and if you score positive points in round 3 you will win a T-shirt.

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

      Got it!

      Thanks for your clarification.

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

      I’ve just got an email that says that all round 3 participants will receive a T-shirt. So what information is actually correct?

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

        Sorry if you found it confusing! The email says that you can refer to the complete TCO Rules (which needs to be updated to make it less confusing) :)

        To clarify: You have to score positive points in round 3 to win a T-shirt.

        The rules page will be updated very soon to make it less confusing! Sorry again for the confusion!

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

Does anybody know how you can copy your code? I mean I can see it by entering my room. I usually don't save sources that I've submitted in online contests, so right now I'm staring at my failed source not knowing how am I supposed to take it and submit it in practice to see what test it's failing.

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

    I think you can wait for it to appear in round stats/results at TC website and copy it from there, if it isn't in the problem's coding area.

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

      I've also tried at some point to copy even older code. I can't see how to check codes from older round stats. Only top 5 or fastest or something like that appear. Could you tell me what's the procedure to see a code based on the round stats if that is really possible?

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

        I think you can find them through room stats, then individual stats for that round. If the old stats/results module wasn't deleted, it's definitely possible.

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

    Just open your code via the Select One dropdown instead of via room/div summary.

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

Why c++ clock() doesn't work precisely in topcoder? I lost hard because of that.

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

    Also topcoder servers used to be really fast, my old slow laptop now twice faster. :)

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

      My new fast laptop is twice faster than a typical online judge (CF, Yandex...). I've already painfully learned to check code performance on the judge, not locally, if I'm not sure if it fits within TL.

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

    Came here to say the same thing :)

    My guess is there is some time scaling going on -- at least, it's very weird that TC can show a 0.5 second execution time and tell me the code does not pass 2 second time limit.

    It would be nice to know for sure, though.

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

    I remember that someday clock() was working very slow on topcoder, maybe this is the case?

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

    In TC Marathons we use rdtsc assembly instruction in C++. That is because they count the Wall time, not the CPU time. In theory C++ has an amazing std::chrono library, but in practice its system clock returns garbage on the TC servers, so the only way is to use the assembly.

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

Is this a bug? The order of score of problems in web arena is wrong.

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

    No, it's topcoder's feature.

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

      Sorry for the late response on this.. Unfortunately, that has been a bug. The web arena is still a Beta version. We are rebuilding a new arena to bring the best experience to you once again. Until then, I would recommend everyone to use the applet arena.

      Right now, we are trying to improve the experience daily — like timely reminders, editorials etc.

      But stick with Topcoder as we are working on improving to bring the best experience to you guys.