nikizakr's blog

By nikizakr, history, 8 years ago, In English

Hi Codeforces :D I'm looking for some problems about 3D prefix sum can you provide some links thanks a lot

  • Vote: I like it
  • +4
  • Vote: I do not like it

| Write comment?
»
8 years ago, hide # |
Rev. 4  
Vote: I like it +3 Vote: I do not like it

After writing this comment I realized that your post was asking about problems rather than requesting a tutorial :). I hope someone will find this useful anyway.

Well, I think I could explain it right there. So, for 1D prefix sums you simply do S[i + 1] = S[i] + a[i], nothing special here. For 2D, on the other side, you have to subtract overlapping region: S[i][j] = S[i - 1][j] + S[i][j - 1] - S[i - 1][j - 1] + a[i][j]. For 3D there will be even more overlapping: S[i][j][k] = S[i - 1][j][k] + S[i][j - 1][k] + S[i][j][k - 1] - S[i - 1][j - 1][k] - S[i][j - 1][k - 1] - S[i - 1][j][k - 1] + S[i - 1][j - 1][k - 1] + a[i][j][k]. You can find similarity with inclusion-exclusion formulas. So, with adding new dimensions it becomes more burdensome exponentially. You can check out this code:

Code
»
8 years ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Here's a task from UVa online judge 10755 — Garbage Heap.