木材加工

先找到原先木头中最长出头的数值 ma, 然后令右值 right = ma, left = 0; 这样 md 就等于 (lf + ri) / 2; 然后遍历所有木头, 找到比 md 长的木头 a[i] , a[i] / md 就是长为 a[i] 的木块可以截取长为 md 木块的个数, 统计所有长度大于 md 的木头可以截取长为 md 木头的个数 sum, 比较 sum 和 k 的大小, 若 sum >= k 即 md 可能是答案, 也可能 md 的值有点小. 这时, 我们要取比 md 大的数再遍历一遍, 找到 sum 与 k 进行比较, 即我们让左值 left = md + 1; 同理若 sum < k 则 md 值过大取不到结果, 我们令 right = md - 1, 令 md 变小

posted @ 2022-08-22 20:44  啵啵小波341  阅读(37)  评论(0编辑  收藏  举报