2064. 分配给商店的最多商品的最小值;1066. 校园自行车分配 II;1326. 灌溉花园的最少水龙头数目

2064. 分配给商店的最多商品的最小值

核心思想:二分法。假设商店商品数目的最大值为x,那么对于每一个quantities[i]需要多少间零售店呢,即 quantities[i]//x往上取,然后判断商店数量和n的关系,最后我们利用二分的方法找出最小的x即可。

2064. 分配给商店的最多商品的最小值;1066. 校园自行车分配 II;1326. 灌溉花园的最少水龙头数目_第1张图片

1066. 校园自行车分配 II

核心思想:记忆化搜索。关键在于dfs(i,pre)的定义为#表示给第i个工人选择自行车,已选择的自行车为集合pre,其曼哈顿距离和为dfs(i,pre)。

2064. 分配给商店的最多商品的最小值;1066. 校园自行车分配 II;1326. 灌溉花园的最少水龙头数目_第2张图片

1326. 灌溉花园的最少水龙头数目

核心思想:过桥建桥模板题,假如你想过桥,你肯定会优先选择连接当前桥的并且它的右边是最远的桥,遵循这种最优选择进行选择龙头即可。

2064. 分配给商店的最多商品的最小值;1066. 校园自行车分配 II;1326. 灌溉花园的最少水龙头数目_第3张图片

你可能感兴趣的:(python,算法)