Блог пользователя codeislife99

Автор codeislife99, история, 7 лет назад, По-английски

My submission(Problem D). returns the correct answer on all test cases but gets TLE on higher recursion levels. I am unable to understand how memoization can be implemented in this case. Any help would be appreciated.

  • Проголосовать: нравится
  • -10
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

There can be at-most 2^29 particles after N explosions. If you consider a state of the particle in terms of Grid,Level,Direction (X,Y,T,Dir) from Pigeon Hole Principle there must exist (at some point 2^k > 321^2 * 30 * 3^2) two or more particles starting in the same Grid, moving in the same direction at the Same level. For these kinds of particles, you only need to track one instance (Memoize instances) of it. By this way you wont be keeping track of more than 321^2 * 8 particles at an instance.

This leaves you with a complexity of O(Height*Breadth*Levels*Distance*Directions) O(N^2 * 30 * 5 * 8) O(N^2)