pub fn subsets_of_mask(mask: u32) -> Vec<u32>Expand description
Bitmaskning barcha qism to’plamlari (o’zi va bo’sh to’plam bilan birga).
G’oya: sub = (sub - 1) & mask sehri maskning barcha qism to’plamlarini
kamayish tartibida beradi. Bitmask DP da (“kommivoyajyor”, “to’plamlarga bo’lish”)
asosiy vosita.
- Time: O(2^(maskdagi 1 bitlar soni)).
§Misol
use rust_algorithms::numbers::subsets_of_mask;
let mut s = subsets_of_mask(0b101);
s.sort();
assert_eq!(s, vec![0b000, 0b001, 0b100, 0b101]);