I started learning Python a week ago, and I've just solved my first problem using it. However; I was surprised by the huge execution time and memory for a very trivial problem, which makes me doubt if there's any effective tricks/advice to follow when using Python for competitive programming.
Wouldn't it be nice if we just collect some of those ideas here or somewhere else and make it available for everyone?
Please don't comment such comments like "The only advice I can tell is Don't use Python for competitive programming" :P, this is serious :)
submit solutions using pypy.
even though pypy 2 passed, it barely passed O(nm) where 0 ≤ n, m ≤ 1000 in one second. i would keep a back-up language in case the problem requires a lot of computation.
That sounds cool but, I'm a little bit confused. I've just submit the same solution again but this time using PyPy 2 instead of Python 2, and I was surprised that the execution time got slower :| as well as my code now uses much more memory.
Can you provide a reason for that, please?
And now it's getting even more weird :(
i know this is too late.. but i need to say something..
When there's lot of calculation, loops pypy will be faster than python..
and if solution relies heavily on data structure(set, dict) python will be faster than pypy..
array[j + i * m] instead array[i][j] will speed up python code
p.s. m — row size
I like using Python a lot. Read the 3 links below, you may find them helpful:
w = stdout.write.