ACM训练日记—2月8日

        今天其实先就把专题里面关于BSGS算法&拓展BSGS算法的题目水了一下,挺简单的,毕竟我上一篇博客存的模版挺好用,我也没着急去看哈希表的东西,毕竟对于我来说莫比乌斯反演和刷《组合数学》上的课后题才是重点。

       之前还做了一道比较有意思的题目,纯粹组合数学推理的,就是这道题目让我又感觉必须把数学书本上的课后题必须做认真做完。

      How many 0's? 

      题意:给出一个数n1,n2,计算当n1<=m<=n2时,m中出现0的总个数。

      这个题一看就知道先算出从1到n有多少个0,然后sum(n2)-sum(n1-1),可我自己的办法是按照位置dfs,这是超时的,最后请教其他队友于是恍然大悟。

     就是按照数的每一位进行判断,将该位变成0,形成的新数必定小于等于原数,这样分类讨论:1,当该位不是0,那么就是前面的数变化总数乘后面总数(后面随便变)。2,当该位是0,前面变化数乘后面数字。我举个例子。

  123056,这个数我们枚举到3,就是12*999。当我们枚举到0,就是123*56。

我解释的不好,推荐一位大佬解释的清楚。

推荐:http://blog.csdn.net/sdau20163942/article/details/79271665

      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值