Dynamic Programming Advanced

  • Bitmask DP (subset)
  • Tree DP
  • Interval DP
  • Knapsack variants
  • LIS variants
1 / 5

Bitmask DP

  • dp[mask][i]
  • O(n^2 * 2^n)
2 / 5

Tree DP

  • Post-order
  • take/skip pattern
3 / 5

Interval DP

  • Choose split point k
  • O(n^3)
4 / 5

Knapsack

  • 0/1: iterate capacity backwards
  • Unbounded: forwards
5 / 5
Use arrow keys or click edges to navigate. Press H to toggle help, F for fullscreen.