276
правок
Изменения
→Применение для решения задач
*'''''Номер младшего единичного бита:'''''<br/>Число, полученное в результате операции <tex>x\ \&\ (\sim x + 1)</tex> будет равно номеру младшего единичного бита в числе <tex>x</tex>.
*'''''Работа с битовыми масками:'''''<br/>Храним подмножества множества из <tex>32, 64</tex> или <tex>128</tex> фиксированных элементов. Значение каждого бита позволяет понять, включен элемент в множество или нет. Тогда легко сделать следующее: найти дополнение <tex>(\sim)</tex>, пересечение <tex>(\&)</tex>, объединение <tex>(\mid)</tex> множеств, установить бит по номеру <tex>(\mid 1 \ll x)</tex>, снять бит по номеру <tex>(\& \sim(1 \ll x))</tex>.
*'''''[[Алгоритм Флойда]]''''':<br/>Оптимизация с помощью битовых масок. Время работы <tex>O\Big(\dfrac{n^3}{k}\Big)</tex>.
==Источники информации==