2016.09.10 初中部 NOIP普及组 模拟赛

总结

这次比赛感觉挺难滴。

考得不理想。


T1:一道纯粹的数学题,推理过程早就忘干净了,说公式吧。

ans=C(n+m,n)-C(n+m,n+1)=(n+1-m)*(m+n)!/(m!*(n+1)!)

化简后得:(n+1-m)*(n+2)*......*(n+m)/m!

大家肯定注意到了这里有一个除号,高精度除法我不会呀,咋办捏?

因为答案肯定是个整数,所以说是可以整除的,我们就把这里的每一项分解质因数,分别存到a和b数组里,然后抵消后把剩下的因数乘起来即可。分解质因数之前要用筛选法把1万内的素数全部筛出来(连筛选法都不会的**就用普通方法吧)


T2:一道水题。

先用递归枚举出所有2^19以内的只包含1和0的数,然后每个除一遍,最后选小的那个数就可以了,但是因为考试时ans类型定小了所以就呵呵了。。。。


T3:一道非常非常非常非常非常非常非常非常非常非常坑爹的题。

这还是一道奇葩数学题(我学奥数那么久都没见过%&^%*&$) 比赛时看到题完全懵逼了,打了个表结果愉快的爆0。

正解就是ans=n!-r[1]*(n-1)!+r[2]*(n-2)!-r[3]*(n-3)!........+(-1)^m*(n-m)!

其中r[k]表示把k个雕像都放到池塘里且满足每行每列只有一个沉入水中的雕像的总方案数,至于这条公式是怎么推出来的嘛,去问刘神犇吧,这里不多说了。

接下来说说如何求r[k](这是整道题里最坑的部分) 

我用的第一种方法就是每行枚举一个,然后累加答案,结果错了,为什么捏?

原来题目的最后一个数据专门坑人的,3 6重复了两次,也就是说学校在3行6列这个地方建了个两层的池塘,每层都可以扔雕像,这样答案就算少了。应该枚举m个雕像,枚举每个雕像选不选,符不符合条件,最后再累加答案。

这里有个细节,如果n-i是个负数,那么(n-i)!就赋值为1。

至于分数嘛,不想说了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值