[2016NOIPPJ04]魔法阵

难度:比较难

 

题目大意:m个魔法物品,魔法值不超过n,求能组成多少个魔法阵。前提:

①找到a,b,c,d,且a<b<c<d

(b-a)=2(d-c)

(b-a)<(c-b)/33(b-a)<(c-b)


80~85:


因为a,b,c,d要满足:a<b<c<d   b-a=2(d-c)  3(b-a)<(c-b)

通过移项,不难发现,只有知道a,b,c,就可以算出d,因此要用三重循环。

接着,因为3(b-a)<c-b

由此限制c的范围,从而加强效率


 

额,大家应该从上图懂得了些什么了吧....

如果是80分,就可以枚举i,j,k,然后得出A,B,C,D

 

接着,我们可以发现,当知道i,C,k时,可求A,B,D;当知道i,A,k时,可求B,C,D

 

如果k未知,那么知道A可求B,知道C可求D

所以如图所示,A,B借助C,D的后缀和来算,C,D借助A,B的前缀和来算。

而最主要的就是i,A,C

 

i的取值范围不多说,而以下为AC的取值解释。

 


So,你们都懂了吗?

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值