不是这就是A5703啊(堆)
Bird.
浅夏.山橘月
这个题目个人认为比较简单,大致如下: 先把每一堆果子的重量入优先队列,取出最前面两个,也就是当前最小的两堆果子,这样可以保证用的力气最小。合并之后,再将这个值放到队列中,再重复前面的操作,直至只剩下一堆。 上代码: 严禁抄袭,打造文明ACGO!谢谢
四十九的平方根
我是垃圾
这道题只需要把最小的两个果堆加起来就可以了,好多大佬都用的是优先队列,但由于本人太菜,只好用数组做。 如果这样想,那么每合并一次都需要排一次序,但事实上并不需要这么做(而且这样会超时,我之前用sort函数排就过了四个点,后面全都tle了),只需要给新合并的果堆找到所在的位置,并且将空的果堆删除就可以了。 下面AC代码。
重生之我是菜狗