Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Python] Subset sums bằng bitmask

    Cho dãy n số nguyên (1 <= n <= 18). Hãy tính tổng các tập con khác rỗng có số phần tử CHẴN (2, 4, 6, ...). Yêu cầu duyệt qua bitmask từ 1 đến (1<<n)-1, đếm số bit 1 của mask bằng bin(mask).count('1') (hoặc đếm bằng vòng lặp với & 1 và >>= 1), nếu số bit 1 chẵn (và >= 2) thì cộng tổng các phần tử tương ứng vào kết quả. In tổng cuối cùng modulo 10^9+7.

    • Định dạng đầu vào:

      Dòng 1: n. Dòng 2: n số nguyên cách nhau dấu cách.

    • Ràng buộc đầu vào:

      1 <= n <= 18; -10^9 <= mỗi phần tử <= 10^9

    • Định dạng đầu ra:

      Tổng theo modulo 10^9+7.

    Ví dụ:

    Đầu vào:

    3
    1 2 3
    

    Đầu ra:

    12

    Giải thích:

    Các tập có 2 phần tử: {1,2}=3, {1,3}=4, {2,3}=5; tổng = 12.

    Đang tải editor...