NoteTube

Matrix Block Sum тАУ 2D Prefix Sum | Running Sum of 2D Array | C++, Java, Python
33:56

Matrix Block Sum тАУ 2D Prefix Sum | Running Sum of 2D Array | C++, Java, Python

RisingBrain

4 chapters6 takeaways9 key terms5 questions

Overview

рдпрд╣ рд╡реАрдбрд┐рдпреЛ 2D рдПрд░реЗ (рдореИрдЯреНрд░рд┐рдХреНрд╕) рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рд╕рдо рдпрд╛ рд░рдирд┐рдВрдЧ рд╕рдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП, рдпрд╣ k рд░реЗрдбрд┐рдпрд╕ рдХреЗ рднреАрддрд░ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(m*n*k^2) рд╣реЛрддреА рд╣реИ, рдЬреЛ рдмрдбрд╝реЗ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рд╣реИред рдлрд┐рд░, рдпрд╣ рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо (2D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ 2D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рд╕рдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реВрддреНрд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(m*n) рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • рд╕рдорд╕реНрдпрд╛: рджрд┐рдП рдЧрдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ (i, j) рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЙрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдпреЛрдЧ рд╣реЛ рдЬреЛ (i, j) рд╕реЗ k рджреВрд░реА рдХреЗ рднреАрддрд░ (рдКрдкрд░, рдиреАрдЪреЗ, рдмрд╛рдПрдВ, рджрд╛рдПрдВ рдФрд░ рд╡рд┐рдХрд░реНрдг) рд╣реИрдВред
  • рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рд╡рд┐рдзрд┐: рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ (i, j) рдХреЗ рд▓рд┐рдП, k рд░реЗрдбрд┐рдпрд╕ рдХреЗ рднреАрддрд░ рд╕рднреА рд╡реИрдз рддрддреНрд╡реЛрдВ (рдкрдВрдХреНрддрд┐ i-k рд╕реЗ i+k рдФрд░ рдХреЙрд▓рдо j-k рд╕реЗ j+k рддрдХ) рдХреЛ рд╕реАрдзреЗ рдЬреЛрдбрд╝реЗрдВред
  • рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛: рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд▓рдЧрднрдЧ (2k+1) * (2k+1) рддрддреНрд╡реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреБрд▓ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(m*n*(2k+1)^2) рдпрд╛ рд▓рдЧрднрдЧ O(m*n*k^2) рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдмрдбрд╝реЗ k рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзреАрдореА рд╣реИред
рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЕрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рд╕реЗрд▓ (0,0) рдХреЗ рд▓рд┐рдП k=1 рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдкрдВрдХреНрддрд┐ -1 рд╕реЗ 1 рдФрд░ рдХреЙрд▓рдо -1 рд╕реЗ 1 рддрдХ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдХреЗрд╡рд▓ рд╡реИрдз рддрддреНрд╡ (0,0), (0,1), (1,0), (1,1) рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
  • 2D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп: рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрдпрддрд╛рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХреЛ O(1) рд╕рдордп рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдирд╛, рдмрд╛рд░-рдмрд╛рд░ рдЧрдгрдирд╛ рд╕реЗ рдмрдЪрдирд╛ред
  • рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг: рдПрдХ рдирдпрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ (рдЖрдорддреМрд░ рдкрд░ рдореВрд▓ рд╕реЗ рдПрдХ рдЖрдХрд╛рд░ рдмрдбрд╝рд╛) рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ (i, j) рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ (0,0) рд╕реЗ (i-1, j-1) рддрдХ рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рдпреЛрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
  • рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рд╕реВрддреНрд░: рдкреНрд░реАрдлрд┐рдХреНрд╕[i][j] = рдореИрдЯреНрд░рд┐рдХреНрд╕[i-1][j-1] + рдкреНрд░реАрдлрд┐рдХреНрд╕[i-1][j] + рдкреНрд░реАрдлрд┐рдХреНрд╕[i][j-1] - рдкреНрд░реАрдлрд┐рдХреНрд╕[i-1][j-1]ред рдпрд╣ рд╕реВрддреНрд░ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рджреЛ рдмрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
2D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдХрд┐рд╕реА рднреА рдЖрдпрддрд╛рдХрд╛рд░ рдЙрдк-рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдпреЛрдЧ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрдХрдиреАрдХ рд╣реИ, рдЬреЛ рдХрдИ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрджрд┐ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рд╕реЗрд▓ (0,0) = 1, (0,1) = 2, (1,0) = 3, (1,1) = 4 рд╣реИ, рддреЛ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рд╕реЗрд▓ (1,1) рдХрд╛ рдорд╛рди 1 рд╣реЛрдЧрд╛, рд╕реЗрд▓ (1,2) рдХрд╛ рдорд╛рди 1+2=3 рд╣реЛрдЧрд╛, рд╕реЗрд▓ (2,1) рдХрд╛ рдорд╛рди 1+3=4 рд╣реЛрдЧрд╛, рдФрд░ рд╕реЗрд▓ (2,2) рдХрд╛ рдорд╛рди 1+2+3+4=10 рд╣реЛрдЧрд╛ред
  • рд▓рдХреНрд╖реНрдп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг: рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрддрд░ рд╕реЗрд▓ (i, j) рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдКрдкрд░реА-рдмрд╛рдПрдВ рдХреЛрдиреЗ (r1, c1) рдФрд░ рдирд┐рдЪрд▓реЗ-рджрд╛рдПрдВ рдХреЛрдиреЗ (r2, c2) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ (i-k, j-k) рд╕реЗ (i+k, j+k) рддрдХ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИрдВред
  • рд╕реАрдорд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди: r1, c1, r2, c2 рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡реИрдз рд╕реАрдорд╛рдУрдВ рдХреЗ рднреАрддрд░ рд░рд╣реЗрдВ (0 рд╕реЗ m-1 рдФрд░ 0 рд╕реЗ n-1 рддрдХ)ред
  • рдмреНрд▓реЙрдХ рдпреЛрдЧ рд╕реВрддреНрд░ (рдкреНрд░реАрдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ): рдПрдХ рдмрд╛рд░ r1, c1, r2, c2 рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд▓реЙрдХ рдХрд╛ рдпреЛрдЧ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ: рдкреНрд░реАрдлрд┐рдХреНрд╕[r2+1][c2+1] - рдкреНрд░реАрдлрд┐рдХреНрд╕[r1][c2+1] - рдкреНрд░реАрдлрд┐рдХреНрд╕[r2+1][c1] + рдкреНрд░реАрдлрд┐рдХреНрд╕[r1][c1]ред рдпрд╣ 2D рд░реЗрдВрдЬ рдпреЛрдЧ рд╕реВрддреНрд░ рдХрд╛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред
рдпрд╣ рдЪрд░рдг рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП 2D рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реЗрд▓ (i, j) рдХреЗ рд▓рд┐рдП k=1 рдХреЗ рд╕рд╛рде, рдКрдкрд░реА-рдмрд╛рдПрдВ рдХреЛрдиреЗ (r1, c1) рдХреЛ max(0, i-1) рдФрд░ max(0, j-1) рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдирд┐рдЪрд▓реЗ-рджрд╛рдПрдВ рдХреЛрдиреЗ (r2, c2) рдХреЛ min(m-1, i+1) рдФрд░ min(n-1, j+1) рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░, рдЗрди рдХреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рд╕реВрддреНрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛: рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ O(m*n) рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрддреНрддрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рднрд░рдиреЗ рдореЗрдВ рднреА O(m*n) рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдХреБрд▓ рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(m*n) рд╣реИред
  • рд╕реНрдерд╛рди рдЬрдЯрд┐рд▓рддрд╛: рд╣рдореЗрдВ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рдПрдХ рдЙрддреНрддрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд╛рди рдЬрдЯрд┐рд▓рддрд╛ O(m*n) рд╣реИред
  • рдорд╣рддреНрд╡: рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реЗ рдЗрдирдкреБрдЯ рдЖрдХрд╛рд░ рдФрд░ k рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдмрди рдЬрд╛рддрд╛ рд╣реИред
O(m*n) рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХреЛрдбрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдмрдирд╛рддреА рд╣реИ рдФрд░ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрд╢рд▓ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ 100x100 рд╣реИ, рддреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг (k=50 рдХреЗ рд╕рд╛рде) рд▓рдЧрднрдЧ 100*100*50*50 = 25,000,000 рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдиреБрдХреВрд▓рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗрд╡рд▓ 2*100*100 = 20,000 рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдЧрд╛ред

Key takeaways

  1. 12D рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдмреНрд▓реЙрдХ рд╕рдо рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдХреНрд╖рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рд░-рдмрд╛рд░ рд╕рдорд╛рди рдЙрдк-рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
  2. 22D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЖрдпрддрд╛рдХрд╛рд░ рдЙрдк-рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХреЛ O(1) рд╕рдордп рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИред
  3. 32D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ (i, j) рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ (0,0) рд╕реЗ (i-1, j-1) рддрдХ рдХреЗ рдпреЛрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
  4. 42D рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рд╕реВрддреНрд░ рд╣реИ: P[i][j] = M[i-1][j-1] + P[i-1][j] + P[i][j-1] - P[i-1][j-1], рдЬрд╣рд╛рдВ P рдкреНрд░реАрдлрд┐рдХреНрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ рдФрд░ M рдореВрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред
  5. 5рдмреНрд▓реЙрдХ рд╕рдо рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рдХреНрд╖реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдХреЛрдиреЛрдВ (r1, c1) рдФрд░ (r2, c2) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 2D рд░реЗрдВрдЬ рдпреЛрдЧ рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
  6. 6рдЕрдиреБрдХреВрд▓рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдордп рдЬрдЯрд┐рд▓рддрд╛ O(m*n) рд╣реИ, рдЬреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред

Key terms

Matrix Block Sum2D Prefix SumRunning Sum of 2D ArrayBrute Force ApproachOptimized ApproachTime ComplexitySpace ComplexityRange Sum QuerySub-matrix Sum

Test your understanding

  1. 1рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг 2D рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдмреНрд▓реЙрдХ рд╕рдо рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдЕрдХреНрд╖рдо рд╣реИ?
  2. 22D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ?
  3. 32D рдкреНрд░реАрдлрд┐рдХреНрд╕ рдпреЛрдЧ рд╕реВрддреНрд░ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдУрд╡рд░рд▓реИрдк рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ?
  4. 42D рдкреНрд░реАрдлрд┐рдХреНрд╕ рд╕рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реЗрд▓ (i, j) рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реВрддреНрд░ рдХреНрдпрд╛ рд╣реИ?
  5. 5рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдордп рдФрд░ рд╕реНрдерд╛рди рдЬрдЯрд┐рд▓рддрд╛ рдХреНрдпрд╛ рд╣реИ?

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat тАФ in seconds.

No credit card required

Matrix Block Sum тАУ 2D Prefix Sum | Running Sum of 2D Array | C++, Java, Python | NoteTube | NoteTube