题解 1549: 蓝桥杯算法提高VIP-盾神与积木游戏

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯算法提高VIP-盾神与积木游戏 (C++代码)

解题思路:正好学到银行家算法这里,就想着用银行家算法的安全性判断的方式解决,结果超时,因为算法是O(n^2)的。问了地表最强召唤兽后突然醒悟。原来只要排个序就行了,按照还需要的积木数从小到大排序,然后遍历所有作业,如果在某一次遍历中发现当前资源数不能满足某一个作业的需求,就退出,输出NO。

蓝桥杯算法提高VIP-盾神与积木游戏-题解(C++代码)

做了好几题贪心题都是结构体排序就能完事代码还可以优化主要就是在输入的时候将能放进池子的积木进行判定然后找到一个最大需要的积木数目,当池子中的积木数能够大于等于max的时候其实就能YES了```cpp#includeusingnamespacestd;structL{intx;inty;}l[10005

蓝桥杯算法提高VIP-盾神与积木游戏-题解(C++代码)

基本思想:简而言之就是贪心,对需求数进行排序,先满足最小需求,把他原先有的拿回来,再满足需求数目大的;其实就是OS里银行家算法的翻版;关键点:注意有百分之四十五的case情况为拥有数目完全大于需求数目,这个需要注意一下;```cpp#include#include#include#include#in

蓝桥杯算法提高VIP-盾神与积木游戏-题解(C++代码)

```cpp思想:贪心,每个孩子需要的积木一定是他需要的总数减去已经拥有的,我们就假设孩子们完成任务后把积木放在一个箱子中,箱子中积木的数量cnt在一开始的时候等于0,用sort给结构体排序按需要的积木数量从小到大排序,如果箱子里的积木数量不足以让第一个孩子(需要的最少)完成他的任务,则不可能完成。

先帮助差值小的人完成任务

摘要:解题思路:注意事项:参考代码://设某个人拥有a个积木,需要b个积木。a-b就是积木差。a-b>=0表示这个人的积木足够了,a-b<0表示这个人需要等其它人完成后才能拿到足够的积木//把所有人的积木差……

蓝桥杯算法提高VIP-盾神与积木游戏-题解(C++代码)

####问题描述最近的m天盾神都去幼儿园陪小朋友们玩去了~每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,