分享下我的思路叭,时间不够没写完,没有验证对不对。首先对于每一层,问题转化为取m个连续值,使得对于每一个m,连续值的总和最大(连续值就是最后留下来的收藏品),用前缀和和后缀和来做,返回一个map,key是拿走的收藏品数,value是拿走的收藏品价值,最后一共有n个map,再对其进行dfs,剪枝策略是当前value要小于历史最佳结果且剩余的待分析map的size总和加上当前已选取的收藏品数量要小于m

相关推荐

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