Отображение неупорядоченных пар (с повторением) в индекс - PullRequest
0 голосов
/ 01 апреля 2019

В наборе C+1 целочисленных значений {0,1,...,C}. Как индексировать пары {00,01,...,0C, 11,12,...,1C,22,...2C,...,CC} ?. Я понимаю, что общее количество пар ab с a <= b составляет (C+1)(C+2)/2 пар. Я мог бы найти способ сопоставления пар ab с их индексом i при a <= c/2, но сопоставление не будет работать для другой половины пар.

Существует ли простое выражение, которое может сопоставить пары ab с индексом i? Этот вопрос очень похож на Индексация (неупорядоченных) пар набора , но повторение там не разрешено.

1 Ответ

1 голос
/ 01 апреля 2019

После некоторой математики у меня появилось выражение.

Выражение i = a(C+1) - a(a-1)/2 + b - a. Я опубликую математику, как только у меня будет время набрать текст на латексе, но идея состоит в том, чтобы подсчитать, сколько пар уже было подсчитано, с разницей в треугольных суммах на основе a и C (первые два термина ), затем добавьте то, чего не хватает, на основе b и a.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...