2017日照夏令营 day3 t2 小z搭积木

小Z面临一个积木搭堆挑战,需要确保所有积木情绪值不超过上限,同时最小化列数。通过贪心策略,按情绪值从小到大排序,依次叠加积木,无法叠加时开启新列,最终得出最少列数。
摘要由CSDN通过智能技术生成

题目描述:
小 Z 喜欢搭积木。小 Z 一共有 n 块积木,并且积木只能竖着一块一块的摞,可以摞多列。小 Z 的积木都是智能积木,第 i 块积木有一个情绪值 Xi。当摞在该积木上面积木总数超过 Xi 时,i 号积木就会不高兴。小 Z 情商这么高,肯定不希望有积木不高兴。但是他又希望每块积木都被用上,并且摞的积木列的总数最少。你能帮帮萌萌的小 Z 吗?

解题思路:
既然希望每块积木都被用上,那自然是能用的都用上,我们可以想到用贪心来解决这道题。
首先按照情绪值从小到大排序,将小的放在大的上面,能放就放,如果不能再放了,就需要再开一列,最后累加列数就是要求的结果。

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,a[5005],v[5005],ans,m;
int main(){
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值