elnazar's blog

By elnazar, history, 22 months ago, translation, In English

Recently, I faced with one issue where two seemingly similar solutions performed differently. I want to know why it is happening?

Code 1: Used an XOR operation (num ^ some_randint) to preprocess numbers before counting their frequencies

Code 2: Counted numbers directly without any transformation.

Both codec followed identical logic after this step, but code 1 passed the test cases efficiently, while code 2 gotaTLE.

WHY? I would be happy if someone could explain.

  • Vote: I like it
  • 0
  • Vote: I do not like it

| Write comment?
»
22 months ago, hide # |
 
Vote: I like it +1 Vote: I do not like it

Are you counting frequency with unordered_map? You’re probably facing a hashing collision attack and the xor helps avoid it (although one could theoretically hack it during contest)