点此看题面 大致题意: 有N个受到严重损伤的建筑,对于每个建筑,修好它需要\(T1\)秒,且必须在\(T2\)秒之前修完(\(T1\)与\(T2\)不是固定值),问你最多能修好几个建筑. 题解 一看到这题,就能想到一个贪心的做法. 但是,裸贪心显然是不能过的,如果加上一个堆优化,就能够水过此题. 我们可以把修好每个建筑所需的时间放入大根堆中存储.对于每一个建筑,若能在规定时间内修好,则将\(ans\)加\(1\),否则比较修好它所需的时间与堆顶元素的大小,若修好它所需的时间更少,则用其替换堆顶,…