如果先做预处理将每层的取j个的最优情况 放在vector<vector<int>>value;中, value[i][j]代表在第i层取j个的最优解,做出这样的二维数组,时间复杂度是O(100*10000);每一层是O(10000),最多100层, 然后可以用动态规划。 dp[i][j] 表示到第i层,取j个,的最优解, 那么dp[i][j]等于,dp[i-1][j-x]+value[i][x];x是0->j;就是前面用0个,这层用j个,前面用1个这层用j-1个。。。的最优解, 然后时间复杂度是 O(100*100*100),第一个是一共100层,第二个是 j最多取道100个,第三个是从 0-j,1-j-1...j-0;一共比较100次。 所以最后的时间复杂度是O(1百万); 欢迎指正。
点赞 3

相关推荐

派派Emma:公司是在缅北吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-14 22:16
我爱加瓦233:今年行情真的好起来了,暑期实习拿了美团,京东,饿了么三家的Offer,最终去了美团,披上了我的黄马褂,开启送外卖之旅
点赞 评论 收藏
分享
从明天开始狠狠卷JV...:叽里咕噜一大堆,不就是字典序,sort一下就搞定了。
投递京东等公司10个岗位
点赞 评论 收藏
分享
计算机类的会考啥啊
投递中国电信等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务