难度:比较难
题目大意:m个魔法物品,魔法值不超过n,求能组成多少个魔法阵。前提:
①找到a,b,c,d,且a<b<c<d
②(b-a)=2(d-c)
③(b-a)<(c-b)/3即3(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的取值范围不多说,而以下为A与C的取值解释。
So,你们都懂了吗?