### mohamedhesham's blog

By mohamedhesham, history, 3 months ago,

in the last codeforces contest Codeforces Round 950 (Div 3) , i made up to 500 hacks for both solutions of c++ and python. but why?

First let me explain why for Python : the main collections that hack the sol. in python is Counter (collections) , but why?

It is not an issue related to python slowness, but it is related to hash collisions being o(n^2) but imagine with me if you : sort the array before you use counter, it should pass or try random.shuffle on points instead of sorting.

why the sorting make it pass ?

People have designed the testcase to cause hash collision resulting in o(n^2). If you sort the array you get rid of the hash collision as elements are inserted in a different order, resulting in o(n).

Second and the usual, why for Cpp :

check the blog to make it o(n) instead of o(n^2) : https://mirror.codeforces.com/blog/entry/62393.

and Finally, i hope that i made you benefit.

thanks

• +5

 » 3 months ago, # |   0 interesting blog
 » 3 months ago, # |   0 Thx for your interest in clarifying this
 » 3 months ago, # |   0 Hi, today I solved these two problems: SpoilerFirst, I solved them using a map. Then, out of curiosity (stemming from what happened in the last round), I submitted the same solutions but using an unordered_map and still got accepted for both problems.Is this because there are no anti hash tests? I’m still unsure when to rely on the use of an unordered_map, unless one implement a pretty good hash function, are those solutions always hackable?
 » 6 weeks ago, # |   0 That was helpful. Thanks!
•  » » 6 weeks ago, # ^ |   0 hope to benefit you :)