更新一下第三题思路:维护一个数组,这个数组代表第i家公司,再多接一个人需要额外花费多少。另外肯定还要维护一个cnt_i,记录第i家公司已经接了多少人了。然后每次就挑花费最小的出来,重复m次。假设第i家公司已经接了k个人,再多接1个人,新增的代价就是v_i * ((k+1)^2-k^2),也就是v_i*(2k+1)。相当于贪心,每次都选一个开销最少的人上。时间复杂度m*lgn。
点赞 评论

相关推荐

牛客网
牛客企业服务