[c++刷题]贪心算法.N01

题目如上:

首先通过经验分析,要用最少的减半次数,使得数组总和减少至一半以上,那么第一反应就是每次都挑数组中最大的数据去减半,这样可以是每次数组总和值减少程度最大化。

代码思路:利用大根堆去找数据中的最大值,每次减半再次压入大根堆即可。

主要是如何证明贪心策略的正确性 :

我们使用《交换论证法》来证明

圆圈代表每次减半的数,圆圈的个数就代表总操作次数。

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 16:36:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 16:36:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 16:36:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 16:36:03       20 阅读

热门阅读

  1. IDEA启动正常debug启动报错

    2024-06-16 16:36:03       10 阅读
  2. 15_2 Linux Shell基础

    2024-06-16 16:36:03       5 阅读
  3. python 去除图片马赛克

    2024-06-16 16:36:03       4 阅读
  4. qgis导入excel文件

    2024-06-16 16:36:03       6 阅读
  5. pytorch支持更多onnx算子

    2024-06-16 16:36:03       7 阅读
  6. 一血c++

    2024-06-16 16:36:03       6 阅读
  7. (简单)html转图片-html2canvas

    2024-06-16 16:36:03       7 阅读
  8. v3+ts/request封装axios

    2024-06-16 16:36:03       8 阅读
  9. Vue基础面试题(三)

    2024-06-16 16:36:03       6 阅读
  10. Web前端指令符:解码、应用与挑战

    2024-06-16 16:36:03       5 阅读
  11. 【无标题】

    2024-06-16 16:36:03       5 阅读