牛客 能量水晶

从小到大排序后
我们可以设一个方案中,消耗的魔法长这个样子:从1开始选连续的一段较小的魔法,然后选若干个分散的较大的魔法。
所以我们就需要枚举,第一个不选的魔法,在它前面的一段连续的较小的魔法,在此次枚举中,都需要被选进。而对于后面选的分散的较大的魔法的取法方案数,dp计数(背包计数)。
那么我们就拿样例来说明一下:
5 14
3 6 2 1 8
排序后:
5 14
1 2 3 6 8
当我们设8是第一个不选的较小魔法后,8后面的较大魔法就进行一次dp计数。
当我们设6是第一个不选的较小魔法后,6后面的较大魔法就进行一次dp计数。
当我们设3是第一个不选的较小魔法后,3后面的较大魔法就进行一次dp计数。
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e3
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值