Так если на вертикали и горизонтали не лежит два дерева следовательно и на соседних по вертикали и горизонтали тоже не могут лежать два дерева.
Да, действительно (это потому, что я читал снизу вверх).
чтобы записать условие того что каждый парк содержит ровно одно дерево нужно сначала в матрице

искать одинаковые индексы соответствующие одному парку, а хотелось бы записать это условие в более удобном виде
Что понимается под "удобным видом" - аналитически удобно или в плане вычислений?
например я пробовал

тут мы использовали только значения матрицы

, но это условие не эквивалентно тому что в каждом парке ровно одно дерево.
Как Вы сами понимаете, нумерация парков числами

совершенно произвольна. На самом деле, нумеровать парки мы можем какими попало числами -

. Значит мы можем подобрать их так, чтобы по сумме, аналогичной сумме слева, можно было однозначно определить номер парка.
Также легко всё выразить через дельты Кронекера.