Для быстрой вставки уникальных пар чисел типа u64 в C++ можно использовать структуру данных `std::unordered_set<std::pair<uint64_t, uint64_t>>`, которая будет автоматически устранять дубликаты и имеет асимптотическую сложность O(1) для вставки элемента. Однако возможны коллизии хэш-функций, что может повлиять на производительность.
Для улучшения алгоритма и уменьшения коллизий можно рассмотреть использование собственной хэш-функции, которая будет более эффективно распределять элементы. Например, можно соединить значения первого и второго чисел в пару и использовать эту комбинацию как ключ для хэш-функции.
Также можно рассмотреть использование других структур данных, таких как `std::set<std::pair<uint64_t, uint64_t>>`, которая автоматически упорядочивает элементы и обеспечивает более эффективный поиск вставки элементов.
В целом, выбор оптимальной структуры данных и хэш-функции будет зависеть от конкретных требований проекта и объема данных, однако экспериментирование с различными вариантами может помочь найти наилучшее решение для конкретного случая.