# | User | Rating |
---|---|---|
1 | tourist | 3803 |
2 | jiangly | 3707 |
3 | Benq | 3627 |
4 | ecnerwala | 3584 |
5 | orzdevinwang | 3573 |
6 | Geothermal | 3569 |
6 | cnnfls_csy | 3569 |
8 | Radewoosh | 3542 |
9 | jqdai0815 | 3532 |
10 | gyh20 | 3447 |
# | User | Contrib. |
---|---|---|
1 | maomao90 | 168 |
2 | awoo | 163 |
3 | adamant | 162 |
4 | maroonrk | 152 |
5 | nor | 151 |
5 | -is-this-fft- | 151 |
7 | atcoder_official | 147 |
7 | TheScrasse | 147 |
9 | Petr | 145 |
10 | pajenegod | 144 |
Name |
---|
I think your recursion calls itself too much if you do it all in one go -
depee(10000000)
would calldepee(9999999)
which callsdepee(9999998)
...depee(0)
, and the program consumes alot of memory to keep track of all this recursion. Your second submission avoids this issue. Whendepee(n)
is called, it callsdepee(n-1)
which was previously solved, and thus fewer recursive calls need to be kept track of at a time.a great example why to use bottom-up if can(which we can here)
Thanks for your explanation, I get it now.