O maior motivo do aprendizado é livrar-se da mediocridade.Um dia antes haverá mais esplendor na vida, um dia depois, um dia mais mediocridade.
diário de estudo
1. O que é um prefixo e
A soma do prefixo é a soma de todos os elementos da matriz antes (incluindo) um subscrito de item de uma matriz .
Seja b[] a matriz da soma do prefixo e a[] a matriz original. De acordo com esta frase, a definição e a fórmula de recursão da soma do prefixo podem ser obtidas:
Definição recursivo Soma de prefixo unidimensional prefixo bidimensional e
Dois, prefixo unidimensional e
De acordo com a definição acima, podemos facilmente obter soma[i] = soma[i-1] + a[i]
Desta forma, a soma dos primeiros i números pode ser obtida. De acordo com a expressão acima, podemos encontrar a soma do intervalo do intervalo [i, j] com O(1)
Geralmente é usado para encontrar a soma dos elementos no intervalo [L, R]:
ans[1]=ans[0]+q[1]
ans[2]=ans[1]+q[2]
……… ………
ans[i]=ans[i-1]+q[i]
A soma dos elementos entre [L,R] tmp=ans[R]-ans[L-1]
3. Prefixos e exercícios bidimensionais
Matriz original q[ ][ ]
0
1
2
3
4
5
6
7
8
9
1
1
2
1
0
-1
0
2
0
0
2
1
0
0
1
2
1
1
0
0
3
2
1
1
3
1
-1
0
0
0
4
1
1
-1
0
-1
1
1
0
0
5
1
1
2
1
3
1
4
0
0
6
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
prefixo e array ans[ ][ ]
0
1
2
3
4
5
6
7
8
1
1
3
4
4
3
2
2
4
5
6
7
3
4
7
9
13
15
4
5
(i-1,j)
5
6
(i,j-1)
( eu , j)
6
7
求ans[ ][ ] ans[I,j]=ans[i-1,j]+ans[I,j-1]-ans[i-1][j-1]+q[i][j] :
0
1
2
3
4
5
6
7
8
1
2
(x1-1,y1-1)
(x1-1,y2)
3
(x1,y1)
4
5
(x2,y1-1)
(x2,y2)
6
7
Encontre a soma dos elementos no retângulo especificado:
Superior esquerdo (x1,y1) Inferior direito (x2,y2)
tmp=anos[x2][a2]-anos[x2][a1-1]-anos[x1-1][a2]+anos[x1-1][a1-1]