刚才在打游戏,重新写一下思路。 1、来到i位置,那你的选择要么竖着放,要么横着放。 竖着放的话,那就去 i+1 位置做选择 process(i+1) 横着放的话,因为1*k n个 你水平放了 意味着下面必须全是横着,所以相当于占了k个位置,那就应该去 i+k位置做选择。 剩下的就是边界,如果水平放不了了,只能全竖着放,对应1中。如果恰好k*k,只能全水平 或者全垂直。 2、给了图的一些点的坐标,即i号店 他的x为x[i] y为y[i],那么我把这个想象成一张图,用long[][] graph表示,两个点的距离也就有了(曼哈顿距离),到达不了的认为是最大值。 剩下的就是用PRIM 最小生成树算法,因为要保证能连着,所以最小生成树是保证联通的 需要最少的边了。因此prim里面统计 每一次加边的max值。最后返回的 就是最小生成树的边的最大值,也就是要的答案了。

相关推荐

用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务