Пусть

- размер решетки,

и

- исходные координаты фишки, стоящей на позиции

, и обозначим

.
Тогда оценка для фишки с координатами

равна

Рассмотрим первое слагаемое

Если мы заранее вычислим суммы

для всех возможных значений

и для всех возможных значений

(это можно сделать за

), то для вычисления

нам понадобится всего

времени. То же самое можно сделать и с остальными тремя слагаемыми. Итого, для подсчета оценки после обмена двух фишек нам потребуется

времени.
Дальше, если мы поменяли две фишки местами, то нужно обновить значения сумм

. И это тоже можно сделать за

.
Итого, перед началом отжига нам нужно потратить

времени, а потом на каждый шаг тратится

. Ну и кроме того, такой метод позволяет найти оценку произвольной расстановки тоже за

.