Введение в наборы:
Наборы — это ассоциативные контейнеры, в которых каждый элемент должен быть уникальным. Вы не можете изменить элемент в наборе, но можете удалить его, изменить, а затем вставить.
Некоторые основные функции, связанные с наборами:
- name.begin() → Возвращает итератор к первому элементу в наборе
- name.end() → Возвращает итератор к следующему элементу последнего в наборе
- name.size() → Возвращает количество элементов в наборе
- name.max_size() → Возвращает количество элементов, которые может содержать набор
- name.empty() → Возвращает, является ли набор пустым
Вы можете увидеть больше функций в реализации.
Реализация: https://github.com/Aris12345678/Algorithms/blob/main/set.cpp
Введение в Карты:
Карты — это ассоциативные контейнеры, в которых элементы хранятся следующим образом. Каждый элемент имеет ключ и значение. Два значения не могут иметь один и тот же ключ.
Некоторые основные функции, связанные с Картами:
- name.begin() → Возвращает итератор к первому элементу на карте
- name.end() → Возвращает итератор к следующему элементу последнего на карте
- name.size() → Возвращает количество элементов на карте
- name.max_size() → Возвращает количество элементов, которые может содержать карта.
- name.empty() → Возвращает, является ли карта пустой
- name.insert({key, value}) → Вставляет новый элемент на карту
- name.erase(позиция итератора) → Удаляет элемент в позиции, указанной итератором
- name.erase(g) → Удаляет элемент с ключом, равным g
- name.clear() → Удаляет каждый элемент в массиве
Реализация: https://github.com/Aris12345678/Algorithms/blob/main/map.cpp
Проблемы:
- https://cses.fi/problemset/task/1621 (простой)
- https://judge.yosupo.jp/problem/associative_array (простой)
- https://cses.fi/problemset/task/1640 (просто)
- http://www.usaco.org/index.php?page=viewproblem2&cpid=667 (средний)
Ссылка: