容斥原理,数论,跳蚤

貌似容斥原理在计数中用的还是很多的...

容斥远离的公式还是容易记住的,见下面的wiki链接:

http://zh.wikipedia.org/wiki/%E6%8E%92%E5%AE%B9%E5%8E%9F%E7%90%86 

问题是,如何将“跳蚤”一题里的叙述对应到题目中呢?

  1. 如何想到将m分解质因数?

    首先,容易想到最大公因数的等式;说明:符合条件的组合里,所有数字的最大公因数为1;然后,想一想什么样的组数最大公因数不为1呢?设k是m的因子,那么以k为最大公因子的组数有(m/k)^n; 但是,这里面有重复的

  2. 如何想到用容斥原理计数呢?

    遇到对一堆集合计数而集合之间有交有并,想要求出集合中的总数时,可以用容斥原理

  3. 从该题的代码中想到的枚举方法

    每次枚举限制选取的数字的个数,然后在没有选满的每一层枚举,用一个数组记录,因为是dfs,所以不用担心重复的问题


转载于:https://my.oschina.net/u/1421373/blog/381350

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值