Разбиение декартовых произведений формы $[0,n]\times[0,m]$ ( $n,m\in\mathbf{N}$) «По диагонали»

Aug 15 2020

Рассмотрим декартово произведение $[0,2]\times[0,3]$. Элементами этого набора являются$$\begin{align*} & (0,0) & (1,0) & &(2,0) \\ & (0,1) & (1,1) && (2,1)\\ &(0,2) & (1,2) && (2,2)\\ &(0,3) & (1,3) && (2,3)\end{align*}$$ Следующие наборы разбивают это декартово произведение "по диагонали": $$\{(0,0)\},\{(1,0),(0,1)\},\{(0,2),(1,1),(2,0)\},\{(0,3),(1,2),(2,1)\},\{(1,3),(2,2)\},\{(2,3)\}.$$ Есть ли способ сделать это для произвольных $n,m\geq 0$? Я изначально думал о следующем. Для каждого$k\in[0,m+n]$, позволять $$J_k=\{(i,j)\ |\ 0\leq i\leq n\ \land\ 0\leq j\leq m\ \land\ i+j=k\}.$$ Но эти $J_k$содержат больше элементов, чем мне нужно. Есть предложения по исправлению этого?

Ответы

1 AirMike Aug 15 2020 at 22:31

Я проверял ваше определение набора $J_k$ для вашего примера выше, и оказалось, что он работает нормально.

Рассмотрим, например, $k=2$. потом

$$J_2 = \{(i,j) \mid 0 \leq i \leq 2 \wedge 0 \leq j \leq 3 \wedge i + j = 2\}$$

Итак, вы хотите, чтобы эти упорядоченные пары были в прямоугольнике $[0,2] \times [0,3]$ что в очереди $j = -i + 2$. И вы можете видеть, решая это уравнение (зная, что$i, j \in \mathbb{N}$) вы получите точные решения, которые вы написали в своем вопросе.

В общем, вот что вы делаете в этих наборах

$$J_k = \{(i,j) \mid 0 \leq i \leq n \wedge 0 \leq j \leq m \wedge i + j = k \}$$

Здесь вы перечисляете все пары, которые находятся в прямоугольнике $[0,n] \times [0,m]$ и в строке $i + j = k$.

Следовательно, совокупность этих множеств $J_k$ даст вам разделение этого прямоугольника «по диагонали».