答案不对的
by 小粉兔 @ 2018-06-23 16:51:45
@[jkllage456](/space/show?uid=101521) 两堆合起来,成为一堆,还要放进去啊.
by 向noip冲刺 @ 2018-06-23 16:52:06
你的贪心有问题,这里有一个反例:
`1 1 1 1`
正确的是前两个合并,后两个合并,再一起合并,代价是`2+2+4=8`。
你的是按顺序合并,代价是`2+3+4=9`。
by 小粉兔 @ 2018-06-23 16:53:57
@[小粉兔](/space/show?uid=10703) 哦哦,你这样一说我就get了,谢谢。
by jkllage456 @ 2018-06-23 16:55:48
@[jkllage456](/space/show?uid=101521) 而且纯sort超时,优先队列试试
by 花千树 @ 2018-06-23 17:12:28
有个剧毒的方法可以:重复操作下面几步
(1)升序排序
(2)合并(1)(2)并计算花费
(3)将合并形成的一堆加入数组
同时有个技巧,就用一种特殊冒泡,就一重循环因为每次只要排出最小的
by 南方小包 @ 2018-06-23 17:21:00
因为果子的位置无法直接移动吧,必须得相邻两个合并
by 石见 @ 2018-06-26 08:41:12
合并成新的堆后顺序还要重排
by ldy6314 @ 2018-06-30 21:53:44