Skip to main content

subsets_of_mask

Function subsets_of_mask 

Source
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]);