6 条题解
-
7
介绍一个python的优先队列做法。
heapq是python自带的优先队列(小根堆),其基础语法是:
heapq.heappush(arr, num)
在arr里放入一个数字num,要求arr是堆。
heapq.haeppop(arr)
在arr里弹出头部的数字。
heapq本身提供的是小根堆,也就是说一个升序的数组。所以我们用其相反数来表示这个数。
我们每次拿出最湿的衣服烘干,直到最湿的衣服可以被自然风干为止。
复杂度 可以通过这道题,而且比二分答案更稳更快!
import heapq n,a,b=map(int,input().split()) c=[] for _ in range(n): x = int(input()) heapq.heappush(c, -x) cnt=0 while c[0]<-a*cnt: p=heapq.heappop(c) p+=b heapq.heappush(c,p) cnt += 1 print(cnt)
信息
- ID
- 936
- 时间
- 3000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 576
- 已通过
- 38
- 上传者