2186. 猴子拆房

这道题目涉及计算最低费用拆除楼房,通过枚举最高楼房并利用堆优化求解。首先对楼房高度排序,然后建立堆,依次处理每个楼房,更新答案(ans)以找到最小费用。
摘要由CSDN通过智能技术生成

题目描述

这里写图片描述

题目分析

这一道题有点难度
我们可以想到,我们可以枚举最高楼房。
那么需要的费用就是:所有比它高的楼房的钱数和+比它矮的但又不得不删掉的钱数和。
前面那一个很简单就可以求出来,后面那一个我们可以用堆来做。
首先,我们排一下序。
然后我们建一个堆,先把所有数都加进去。
然后,我们开始从高往低枚举
我们先把当前点前面的点给删掉。
然后,假如高度等于当前枚举的楼房高度的个数为k,那么我们就把可以保存k-1个数全都删掉。
然后我们算一下 sum=

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值