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

Автор JigolKa, история, 3 дня назад, По-английски

Hello,

I don't understand why my solution got a TLE for problem B. Here is the solution I came up with during the contest: 299645061. I'm quite sure the complexity is O(nlogn) but maybe I'm wrong. Here is another solution that doesn't use del: 299814673 even though if I remember correctly the complexity of del is O(1).

Does anyone have similar results?

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

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

You got hacked due to hash collisions blowing up your map/dictionary (which Counter is basically). See this blog.

Best way I found of fixing this was to just use str(yourInt) as the keys.

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

    There is also an anti hash test for strings

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

    Yes this worked! Thanks! Do you know why it works?

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

    Any transformation of the key would also work, for example xor by a random integer constant

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

quit python learn c++ = no more headache

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

Hash collision is the main reason for getting TLE . Your code works O(1) per number which results O(n) for whole array most of the time.But due to hash collision it would be increased to O(n^2) which is inefficient for large inputs.

Hope this helps

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

Bro Please Donot Tell Other People To Debug Your Code Or Codeforces Will Be Destroyed