摘要: 给定序列 $ s_i $ 和参数 $ m $ ,对于每个 $ k \in [1, m] $ ,求最少和最多选择几个数字使得它们的 $ \gcd $ 等于 $ k $ 。最多选择可通过直接统计所有 $ k $ 的倍数的数字个数得到。最少选择利用答案最多为 $ 7 $ 的特性,枚举可能答案 $ cnt $ ,通过组合数 $ \binom{c}{cnt} $ 和容斥原理计算方案数 $ f_k = \binom{c}{cnt} - \sum_{d>k, k \mid d} f_d $ ,找到最小 $ cnt $ 使得 $ f_k > 0 $ 。该方法高效,时间复杂度为 $ O(7 \cdot V \log V) $ ,其中 $ V $ 是值域。 阅读全文
posted @ 2025-09-04 15:56 wing_heart 阅读(0) 评论(0) 推荐(0)