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

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

The first Algorithm Competition Online Rounds of the 2019 Topcoder Open has arrived! Round 1A will be held on Saturday April 20, 2019 at 12:00 UTC -4.Registration is open for the round and closes at 11:55 UTC -4, April 20 2019.

Did you win an Automatic Berth a.k.a Bye for Round 1? Check out the list of members who won an automatic berth to Round 2 here.

How many will qualify? The 750 highest scorers from each Round 1 will win a spot in Round 2 of the Algorithm Competition. Note: To be eligible to advance from an Online Round Match, the Competitor must finish the Match with a point total greater than zero.

There will be one more Round 1 — Round 1B on Wednesday, May 1, 2019 at 07:00 UTC -4.

Best of luck to you in the Arena! -Topcoder

Update: Match Summary and Editorials: https://www.topcoder.com/blog/2019-topcoder-open-algorithm-round-1a-editorials/

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

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

I think you need to mention positive scores are needed to qualify..

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

Just received an email saying I’ve won a bye to Round 2. Will there be another email for those who got to Round 4 (or even to the Finals) through the SRM point system in one of the 4 online stages? I imagine people who advanced through that rule won’t be eligible to participate in Round 2 despite the bye, right?

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

Is it rated?

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

Will this count towards the points for TCO regionals?

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

1000 point problem's precision issues were frustrating, otherwise the round was good!

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

    That's because the intended way was to avoid any floating-point number calculations until the very end?

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

      I wanted to do that but don't the bounds mean it can overflow 64-bit integers?

      If the percentages are set to 99, you end up (almost) doubling up to 100 times, which seems like it should be too much.

      Maybe the idea is that such cases will never arise because they don't have a unique answer... but it doesn't seem obvious that this is true.

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

    Indeed, the intended solution was to use integers only and since I expected many people wouldn't do that, I expected the problem to provide plenty of challenge opportunities. Apparently, creating a test wasn't that easy, thus most solutions failed on the System Test.

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

    I managed to pass this problem by calculating everything in cents, so only integers needed. To round a real number to the nearest int, I used int(x + 0.5).

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

      I had a separate divide function that rounded numbers fully in integers.

      auto divide = [](li a, li b){ 
          if (a % b * 2 >= b) 
              return a / b + 1; 
          return a / b; 
      };
      
»
5 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

So, what is best solution for 250 problem?