Soma de Prefixo de Inteligência Artificial

insira a descrição da imagem aqui

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  b[i]=\sum_{j=0}^{i}a[j] b[i]=b[i-1]+a[i]
prefixo bidimensional e b[x][y]=\sum_{i=0}^{x}\sum_{j=0}^{y}a[i][j] b[x][y]=b[x-1][y]+b[x][y-1]-b[x-1][y-1]+a[x][y]

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)     soma[i,j]=b[j]-b[i-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

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] 

Acho que você gosta

Origin blog.csdn.net/m0_63794226/article/details/126687528
Recomendado
Clasificación