1 条题解

  • 0
    @ 2024-4-20 15:47:14
    思路

    贪心思想每次合并重量最小的两堆果子,这样消耗的体力最少,然后把合并后的果子放回序列继续找重量最小的两堆果子。 每次合并果子后重新排序的话,时间复杂度会很高,所以可以使用优先队列完美解决。

    参考代码
        while(q.size() >= 2)
        {
    		int a = q.top(); 
    		q.pop();
    		int b = q.top(); 
    		q.pop();
    		ans += a + b;
    		q.push(a + b);
        }
    
    • 1

    信息

    ID
    715
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    (无)
    递交数
    45
    已通过
    28
    上传者