贪心算法 电池的寿命

题目:

小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命也有所不同,有的能使用5个小时,有的可能就只能使用3个小时。显然如果他只有两个电池一个能用5小时一个能用3小时,那么他只能玩3个小时的游戏,有一个电池剩下的电量无法使用,但是如果他有更多的电池,就可以更加充分地利用它们,比如他有三个电池分别能用3、3、5小时,他可以先使用两节能用3个小时的电池,使用半个小时后再把其中一个换成能使用5个小时的电池,两个半小时后再把剩下的一节电池换成刚才换下的电池(那个电池还能用2.5个小时),这样总共就可以使用5.5个小时,没有一点浪费。
现在已知电池的数量和电池能够使用的时间,请你找一种方案使得使用时间尽可能的长。

解析:

这道题主要和数学有关

其实难度很简单

但是

这道题很容易被想复杂

解析也就三句:

对于每组数据只要判断最大的那个数是不是比其余的数的和都要大,
如果成立的话那当然就是剩下的所有电池与最大的电池车轮战,最大值为n-1个数的和,
如果不成立的话那么最大就是n个数的和的一半,也就是说电池电量是一定可以全部用完的。

同志们肯定都在想

怎么把他拆分

其实没必要

反正总能用完

如果是两节电池放一块的话

除以二就好了

所以

信息题有一个隐性法则

描述越花里胡哨的题目

越简单

他描述得花里胡哨

都是用来忽悠你的

下面附上简单代码:

#include<bits/stdc++.h>
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int main()
{int a[1000],n,d;float c[1000],sum=0;memset(a,0,sizeof(a));cin>>n;for(int i=1;i<=n;i++){cin>>d;memset(a,0,sizeof(a));for(int j=1;j<=d;j++) cin>>a[j];sort(a+1,a+d+1);sum=0;for(int j=1;j<=d-1;j++) sum+=a[j];if(sum<=a[d]) c[i]=sum;else c[i]=(sum+a[d])/2;}for(int i=1;i<=n;i++)printf("%0.1f\n",c[i]);return 0;
}

拜拜!!!

贪心算法题目 电池的寿命相关推荐

  1. 《贪心算法》— NYOJ 贪心算法题目汇总(一)

    题目6 题目信息 运行结果 本题排行 讨论区 喷水装置(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为 ...

  2. POJ 3040 Allowance——经典贪心算法题目

    题目链接 题目大意: 约翰要给他的牛贝西发工资,每天不得低于C元,约翰有n种面值的钱币,第i种的面值为v_i,数量有b_i.问这些钱最多给贝西发多少天的工资.注意,每种面值的金钱都是下一种的面值的倍数 ...

  3. 【LeetCode】两道贪心算法题目-455分发饼干,860柠檬水找零

    文章目录 第455题:分发饼干 第860题:柠檬水找零 第455题:分发饼干 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个 ...

  4. 股票开盘的最大成交额-----一道不错的贪心算法题目

      问题如下: 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量. 该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种: 1. buy p s 表 ...

  5. 列车调度(贪心):单机调度问题贪心算法

    单机调度问题贪心算法 #题目:火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择任意一条轨道 ...

  6. 算法基础(Java)--贪心算法

    前言 前面简单的介绍了八大经典排序算法,此文将要介绍贪心算法,并介绍一些常见贪心算法题目. 1. 贪心算法的概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最 ...

  7. 数据结构与算法题目总结

    文章目录 1.输入输出控制 2.字符串控制 3.排序 4.数字处理类 5.模拟输出类 6.其他 1.输入输出控制 大量输入输出导致超时,可以试试把 cin 和 cout 换成 scanf 和 prin ...

  8. 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划

    文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...

  9. Bailian3468 电池的寿命【贪心】

    3468:电池的寿命 总时间限制: 1000ms 内存限制: 65536kB 描述 小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电.为了保证能够长时间玩游戏,他买了很多5号电池,这些电池的生产 ...

最新文章

  1. Php使用selenium爬虫,selenium,python爬虫_使用selenium爬取网站时输出结果不正确,selenium,python爬虫 - phpStudy...
  2. 报错笔记:linux 命令行中的print输出内容无法重定向到文件中
  3. 通信 / CRC 校验
  4. 如何在H264数据中获取PTS?
  5. C语言一个数组中随机抽取5个数字
  6. python-面试通关宝典
  7. 火爆的文字游戏你玩了吗?「GitHub 热点速览 v.22.06」
  8. 自定义百度网盘分享密码 提取码
  9. android设置adb环境变量,如何配置android的adb环境变量
  10. python无限循环小数是有理数吗_证明:所有无限循环小数都是无理数
  11. 记一次亚马逊扩容报错data size unchanged, skipping问题
  12. 计算机二级该怎么学,计算机二级自学要多久 怎样复习
  13. 全网最全的qt连接mysql的应用,学生信息管理系统(展示全部代码)
  14. 读《富爸爸,穷爸爸》后感(三)
  15. android-ultra-pull-to-refresh list,Android下拉刷新控件android-Ultra-Pull-To-Refresh 使用
  16. 软件工程 可行性研究、系统流程图、数据流图。
  17. 用C语言判断输入年份是否为闰年
  18. Vue字符串查重 、数组查重、不重复的文字高亮显示
  19. wince 默认输入法_wince下中文输入法
  20. SSH跨平台终端工具tabby推荐

热门文章

  1. uni-app中内嵌u-charts图标导致页面在图表无法滑动
  2. Mac OS和Office版本问题
  3. 用html制作百度地图,canvas实现百度地图个性化底图绘制
  4. ENDNOTE中使用Adobe打开PDF后提示“只读无法保存”
  5. js设置css色相旋转_色相旋转颜色方案是否保留了对色盲友好的能力?
  6. CVE-2018-4990 漏洞详情分析
  7. You're a brave boy!
  8. 公众号文章同步到其它平台方法
  9. 用python做图片搜索引擎并保存到本地
  10. 计算机一级基本操作题创建快捷方式,计算机一级MSOffice操作题练习附答案