第一题就把图建起来就可以; 第二题用暴力遍历,因为最大也才 2^20 所以没问题; 第三题排序之后从最小的补到倒数第二小,然后再把两个倒数第二小补到倒数第三小,直到m == 0,最多O(n),所以总共 O(n lg n); 最后一题动态规划,我只做出来O(n^2 m) 不过也够快了。 dp[ i ][ j ] 代表前 i 个人分 j 组的最小极差和,那么要求的就是 dp[ n ][ m ]。然后转移就是 dp[ i ][ j ] = min (dp [ k ][ j - 1] + maxDiff[ k + 1 ][ i ]),k 从 j - 1 到 i - 1,maxDiff [ k + 1 ][ i ] 数组表示从第 k + 1 到 i 这些人的极差,这个二维数组最先算一下需要O(nm) , 然后把 dp 做出来要 O(n^2 m)。

相关推荐

我的offer呢😡:这不才9月吗,26到明年毕业前能一直找啊,能拿下提前批,转正的,offer打牌的都是有两把刷子的,为什么非要跟他们比。如果别人是9本硕+金牌+好几段大厂实习呢?如果别人是双非通天代呢?如果别人是速通哥呢?,做好自己就行了,我们做不到他们一样提前杀死比赛,但晚点到终点也没啥关系吧
双非应该如何逆袭?
点赞 评论 收藏
分享
notbeentak...:真的nc,算毕业6月份,要给这种b公司打半年多白工😅
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务