第三题我先对v数组排序,然后用一个两层的循环去维护一个数组arr,arr[i]代表以第i个物品为起点,一个背包最多塞几个物品,因为排过序所以很好找,只要遍历到第j个元素满足vj-vi>t就arr[i]=j-i,然后break,以此类推。然后下面再用两层循环更新答案,第一层循环表示第一个框的起点,第二层循环表示第二个框的起点,第一层循环是i=0开头,第二层循环是j=i+arr[i]开头,ans和arr[i]+arr[j]的和比大小,选择大的更新答案。最后考虑一个背包就能装下所有物品的特殊案例就能AC
点赞 评论

相关推荐

点赞 评论 收藏
分享
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务