From 451ce0ae9f2aec9d3e7c0ae7cda3c2d41e8e1644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Thu, 14 Dec 2023 11:20:40 +0800 Subject: [PATCH] 'commit' --- TangDou/Topic/SpareTire.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/TangDou/Topic/SpareTire.cpp b/TangDou/Topic/SpareTire.cpp index fc150fa..15adefd 100644 --- a/TangDou/Topic/SpareTire.cpp +++ b/TangDou/Topic/SpareTire.cpp @@ -38,10 +38,12 @@ signed main() { } if (t > 1) p.push_back(t); - // 开始容斥 - // 例如有3个因子,那么item=1<<3=8(1000二进制) - // 然后i从1开始枚举直到7(111二进制),i中二进制的位置1表式取这个位置的因子 - // 例如i=3(11二进制) 表示去前两个因子,i=5(101)表示取第1个和第3个的因子 + /* + 容斥原理 + 例如有3个因子,那么1<<3=8(1000二进制) + 然后i从1开始枚举直到7(111二进制),i中二进制的位置1表式取这个位置的因子 + 例如i=3(11二进制) 表示取前两个因子,i=5(101)表示取第1个和第3个的因子 + */ for (int i = 1; i < (1 << p.size()); i++) { int cnt = 0, s = 1; for (int j = 0; j < p.size(); j++)