【每日一题】5月20日题目精讲 背包 bitset

题号 NC17193
名称 简单瞎搞题
来源 牛客练习赛22
戳我进入往期每日一题汇总贴~
往期每日一题题单

图片说明

如果你在题库做题时遇到了喜欢的题目,欢迎推荐给邓老师~ 点击查看详情

题解

这个题是个典型的分组背包。
f[i][j] 为前i个数字能否构成j,考虑第i个数选还是不选。
显然如果的话f[i][j]就是可以的,x[i]的取值是l[i]到r[i]。
这样的话其实是有点浪费的——f数组是一个只有01两个值的数组,哪怕表示成bool类型都有点多余。于是我们可以考虑用bitset来优化它。
bitset你可以理解为一个长度很长的01数字串(实际上它是用int拼接而成),也可也理解为可以用位运算的bool数组
这样的话一行就可以一起求——如果我们用f[i]来表示第i行的01串那么:
然后bitset自带一个求1的个数的函数count,这就非常美滋滋了。
特别说明:bitset内部实现是用int拼接而成所以时间复杂度是的,那么本题的时间复杂度是(bitset最大长度也就是背包体积是n^3,还要枚举n,枚举从li到ri)

看完邓老师的题解,记得自己去做题提高呀~
欢迎各位大佬来做题写题解,也欢迎大家踊跃在当日讨论贴中提问!

活动奖励:

在牛客博客中写出题解,并回复地址
审核通过可获得(依据题目难度和题解的内容而定)

本道题目5月27日中午12:00之前写的题解有获得牛币资格~

.牛币兑换中心

牛客博客开通方式

  1. 如何开通牛客博客:https://www.nowcoder.com/discuss/202952
  2. 如何使用博客搬家功能:进入博客--->设置--->底部博客搬家
  3. 如果你对牛客博客有任何意见或建议:牛客博客意见反馈专贴
全部评论
https://blog.nowcoder.net/n/9415afb50a7d4e8f8756829e8b22c147
点赞 回复 分享
发布于 2020-05-27 11:30
https://blog.nowcoder.net/n/69d2d0958f8d43dba78332c9549b4054
点赞 回复 分享
发布于 2020-05-26 18:10
https://blog.nowcoder.net/n/77746e28d2444db3977f6f58def3d11f
点赞 回复 分享
发布于 2020-05-26 17:28
https://blog.nowcoder.net/n/e0ead26a1b6641119dad42a04300e594
点赞 回复 分享
发布于 2020-05-25 20:31
https://blog.nowcoder.net/n/580472f0604441768373c54615e6f2c6
点赞 回复 分享
发布于 2020-05-25 17:14
https://blog.nowcoder.net/n/619703e4dd914bdb8bc2be6b8bbe1ba1
点赞 回复 分享
发布于 2020-05-24 15:02
https://blog.nowcoder.net/n/6980defb420740598e1b61ea32202b88
点赞 回复 分享
发布于 2020-05-24 14:09
https://blog.nowcoder.net/n/2d33549b76c8434caada73028e09468c
点赞 回复 分享
发布于 2020-05-22 15:35
https://blog.nowcoder.net/n/4bbf027b991742db844b8fd0bcf0b847
点赞 回复 分享
发布于 2020-05-21 12:36
https://blog.nowcoder.net/n/32dac03b844049489f5ae711b9516b8d
点赞 回复 分享
发布于 2020-05-21 08:28
https://blog.nowcoder.net/n/9b7ab68fd5704bdaaf673e157f1241f5
点赞 回复 分享
发布于 2020-05-20 17:05
https://blog.nowcoder.net/n/929d08e6c3c34214ae9921a8ecabc7df
点赞 回复 分享
发布于 2020-05-20 16:25
https://blog.nowcoder.net/n/6acb1fbef5014f0d8ada4e68cfb9bf6b
点赞 回复 分享
发布于 2020-05-20 15:17
https://blog.nowcoder.net/n/c615dc34e054446fa6b874098057b856
点赞 回复 分享
发布于 2020-05-20 12:57
https://blog.nowcoder.net/n/f4efce24b3e741dca58eeec78510c7f9
点赞 回复 分享
发布于 2020-05-20 11:16
https://blog.nowcoder.net/n/38900cf8aa5647449343cbadb5808d25
点赞 回复 分享
发布于 2020-05-19 17:52
https://blog.nowcoder.net/n/c04e70d70bbc4126890aa4fb769f8a6c
点赞 回复 分享
发布于 2020-05-19 17:50
https://blog.nowcoder.net/n/c43b8b84bae24e9db64e34631c3d4107
点赞 回复 分享
发布于 2020-05-19 17:43
https://blog.nowcoder.net/n/a7eff40fb9414c9f8c109c99b3e5feb8🤣
点赞 回复 分享
发布于 2020-05-19 17:42
https://blog.nowcoder.net/n/feed01e6e68141e7979a8ae21be2f700
点赞 回复 分享
发布于 2020-05-19 14:53

相关推荐

不愿透露姓名的神秘牛友
06-18 22:30
我看都是谁在卷前端!
秋盈丶:搜了下,20人的公司能收到2000份招呼?真有这么夸张吗
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务