2016.08.19 初中部 NOIP普及组 模拟赛

总结


这次比赛发挥得不错(主要是题目水)


T1:水题,先算两条直径和中间的点,是4r+1

然后算四分之一圆里的点,公式sqrt(r^2-i^2)(1<=i<=r)记得取整!



T2:也是水题,广搜就能过,每次搜到一个点,看下是否比原先答案小,是的话加入队列,更新答案。记得判断特殊情况a[r,c]='*',直接输出-1


T3:之前做过类似的题——迷宫出口,这道题也很简单,三个暴力,第一个全排列,第二个枚举符号,第三个计算,判断下整除和小于等于24就好了。计算方法:

设有i,j,k,l四个数。(每次计算结果用tot存)(下面要注意顺序,不要前后颠倒)

第一步,我们先算i和j,

第二步,有两种情况,第一种是算k和tot,第二种是算tot和k

第三步,有两种情况,第一种是算l和tot,第二种是算tot和l。

算完后,判断下tot<=24,tot>ans就可以了,注意判断整除的情况。

最后还有一种特殊情况

先算1和2,再算3和4,最后算它们俩的结果。和上面一样判断即可。

i,j,k,l通过循环判断枚举。


T4:一道不水的题,我用的是暴力,时间复杂度O(n!),只能得47.6分。

正解:传说中的状压dp

设状态:f[i,j]表示二进制状态压成十进制后为i,当前到达第j点的最小值。

判断:如果i and 1 shl(j-1)<>1 shl(j-1)那么就不要执行这次循环

上一个状态(到达j前)为k,k=i-(1 shl (j-1))。

再枚举x,表示x->j。

再判断,k和x是否正确,方法和上面一样。

正确的话,f[i,j]=min{f[k,x]+a[x,j]}

答案:min{f[(1 shl n)-1,i]}


分数:100+100+100+47.6=347.6

考得不错!下次继续努力!



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值