bzoj 4402 Claris的剑

这道题目是关于计算满足特定条件的剑的数量,其中剑的宽度序列需要遵循一系列规则,包括正整数、不超过M的宽度、相邻元素差的绝对值为1,并以1开始。题目要求找出长度不超过N的合法且本质不同的剑的数量。本质不同意味着至少有一个宽度在序列中出现次数不同。通过分析,可以将问题转化为计算在有限位置上插入数对的方案数,最终利用组合数学和Lucas定理优化算法,实现O(m)的时间复杂度求解。
摘要由CSDN通过智能技术生成

4402: Claris的剑
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 255 Solved: 145
[Submit][Status][Discuss]
Description

Claris想要铸一把剑,这把剑必须符合他的审美,具体来说,我们可以把这把剑的不同地方的宽度看成一个序列,这个序列要满足以下条件:
1.每个元素都是正整数(你的宽度不可能是负数吧)
2.每个元素不能超过M,太宽了如果比Claris身高还高怎么办(你可以认为Claris的身高就是M)
3.相邻两个元素的差的绝对值必须是1(如果是0,则这个地方不是锯齿,杀伤力不够,如果太大,又太丑了)
4.第一个元素的值必须是1(剑尖必须是最窄的地方)
他想知道有多少把长度不超过N(即宽度的序列长度不超过N)的合法的本质不同的剑。
我们认为两把剑本质不同,当且仅当存在至少一个宽度,在两把剑的宽度序列里面出现次数不一样。
比如{1,2,3}和{1,3,2}是本质相同的
{1,2,3}和{1,2,1}则是本质不同的

Input

只有两个整数,表示N,M (数据保证 N,M

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值