# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | djm03178 | 152 |
Name |
---|
Python + Recursion = B A D (Reason ~ link).
Stack Overflow will happen in the case of a linear graph of 10^6 size. What can you do :
1.Use Any Other Language as you did already.(CPP ;-))
2.Use Threading and sys.setrecursionlimit(10**6) as I did (Modified your code and got AC).(69799972).
Example code to increase recursion limit and max stack size in Python.
Although it is not recommended since it gives MLE in many cases. Not mine
Python + any kind of heavy object handling = bad, and a function call is also an object. Python + C modules for heavy computation = perfectly fine.
Check out Python bindings for C libraries. When anything from a module implemented in C is used in Python, there are sooo many checks and conversions, everything is wrapped in a
PyObject*
and it's just way too costly. If you avoid these kinds of costly things, e.g. with Numpy array manipulation (=implemented in C) or JIT, working with large data can still be pretty fast.