二次元累積和
| 投稿者 | AP25 |
|---|---|
| 言語 | PyPy3 |
| 更新日時 (JST) | 2026-10-15 23:25:04 |
| サイズ | 330 Byte |
| 参照URL | |
日時はサーバーが記録したものです。更新すると更新日時が変わるので、不都合がある場合は新しく投稿してください。
def sum_2d(grid):
H, W = len(grid), len(grid[0])
S = [[0] * (W + 1) for _ in range(H + 1)]
for i in range(H):
for j in range(W):
S[i+1][j+1] = S[i][j+1] + S[i+1][j] - S[i][j] + grid[i][j]
return S
def cal_2d(S, i0, j0, i1, j1):
return S[i1+1][j1+1] - S[i0][j1+1] - S[i1+1][j0] + S[i0][j0]