Vetor C ++, o que esse código significa?

Eu tenho este código:

 const int maxnodes = 5000;
 struct Edge 
 {
   int to, rev;
   int f, cap;
 };

 vector<Edge> g[maxnodes];

Isso é bastante compreensível, mas vi em linhas posteriores que ele era usado como

 Edge &e = g[u][j];

aqui,'u,j' são inteiros. o que é"g[u][j]"? 'g' é um vetor preenchido com'Edge' struct, como pode agir como uma matriz de matrizes?

eu seiEdge &e é uma referência e está recebendo um 'Edge'estrutura, mas estou confuso com'g[u][j]'.

O código fonte éaqui

Desde já, obrigado! :)

questionAnswers(6)

yourAnswerToTheQuestion