No tengo una respuesta para todos $N$ pero tengo una respuesta óptima demostrable siempre que $N$ es uno más que una potencia de dos, y algunos límites superior e inferior que están bastante cerca.
Consideremos el grafo cuyos vértices son las celdas, donde dos celdas están unidas por una arista si son ortogonalmente adyacentes. Al rellenar una celda con un bloque de Lego se elimina un vértice y todas las aristas que inciden en ese vértice. El objetivo es eliminar suficientes vértices y aristas para que el grafo que quede sea un árbol. Inicialmente, el número de vértices y aristas viene dado por $$ |V|=N^2,\qquad |E|=2N(N-1), $$ por lo que inicialmente la diferencia entre $|E|$ y $|V|$ es $N^2-2N$ . Además, la colocación de cada bloque disminuirá $|V|$ en exactamente uno, y disminuir $|E|$ por un máximo de $4$ por lo que disminuirá $|E|-|V|$ por un máximo de $3$ . Para que un grafo sea un árbol, la diferencia $|E|-|V|$ debe ser exactamente $-1$ . Por lo tanto, el número de bloques debe ser como mínimo de $$ \frac{N^2-2N-(-1)}{3}=\frac{(N-1)^2}{3} $$ Para conseguirlo, cada bloque colocado tendría que disminuir $|E|-|V|$ por $3$ lo que significa que cada bloque debe estar en el interior de la cuadrícula y no adyacente a ningún otro bloque. Sin embargo, siempre debe haber al menos un bloque en el exterior, ya que de lo contrario se produciría un ciclo alrededor del perímetro. Por lo tanto, hemos demostrado que $$ \text{# blocks}\ge \left\lceil \frac{(N-1)^2+1}{3}\right \rceil $$ Además, siempre que $N$ es uno más que una potencia de dos, digamos $N=2^k+1$ para algunos $k\in \mathbb N$ entonces puede tener éxito utilizando exactamente $\left\lceil \frac{(N-1)^2+1}{3}\right \rceil$ bloques, utilizando esta estrategia. Numera las filas y columnas de $1$ a $N$ . Un cuadrado en la fila $r$ y columna $c$ se rellenará siempre que
Esto explica todos los bloques menos uno. A continuación, hay que colocar un bloque más en el borde, por ejemplo en $(r,c)=(1,2)$ . He aquí una ilustración de esta construcción cuando $N=17=2^4+1$ .
. X . . . . . . . . . . . . . . .
. X . X . X . X . X . X . X . X .
. . X . . . X . . . X . . . X . .
. X . X . X . X . X . X . X . X .
. . . . X . . . . . . . X . . . .
. X . X . X . X . X . X . X . X .
. . X . . . X . . . X . . . X . .
. X . X . X . X . X . X . X . X .
. . . . . . . . X . . . . . . . .
. X . X . X . X . X . X . X . X .
. . X . . . X . . . X . . . X . .
. X . X . X . X . X . X . X . X .
. . . . X . . . . . . . X . . . .
. X . X . X . X . X . X . X . X .
. . X . . . X . . . X . . . X . .
. X . X . X . X . X . X . X . X .
. . . . . . . . . . . . . . . . .
Por último, podemos demostrar que $$ \text{# blocks}\le \lfloor N^3/3\rfloor $$ generalizando la construcción siguiente. En concreto, se toman franjas diagonales de bloques espaciados regularmente a intervalos de tres, y luego se mueven algunos bloques para que las regiones entre las franjas puedan acceder unas a otras. Ilustración $N = 10$ :
. . . . . . . . . .
X . X X . X X . X X
. . X . . X . . X .
. X . . X . . X . .
X . . X . . X . . X
. . X . . X . . X .
. X . . X . . X . .
X . . X . . X . . X
X . X X . X X . X .
. . . . . . . . . .