VINTAGE_vector 2022-08-20 14:21 采纳率: 50%
浏览 61
已结题

有一个不太清楚的题,望大家解答

为了验证 uuku 学习成果,bh1234666 给出一个长为 n 整数序列 a[i]。并让 uuku 给这个序列进行 M次操作。每次操作可以任意选择序列中一个数 a[i],令 a[i] 变成 a[i] * 2, a[i]+2,a[i]-2 ,a[i] / 2这四个结果中的一个。
bh1234666 希望 m 次操作后,整个序列的极差(最大值减最小值)最大。
显然 uuku 没有认真学习,所以他希望你来帮他回答这个问题。

请帮我解答一下这个编程题,关注回报

  • 写回答

2条回答 默认 最新

  • GGBGGBGGB000 2022-08-20 23:37
    关注

    这题是道简单的贪心。

    我的思路是这样 : 首先对这个序列按升序排序, 在通过枚举一些序列进行计算, 我发现当 a[n] <= 4 时, 应先将其加 2, 再进行 M - 1 次的乘 2 操作; 当 a[n] > 4 时, 只要对 a[n] 进行 M 次的乘 2操作, 最后用 a[n] 减去 a[1]即可。如有不懂, 可以私信问我 .

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月24日
  • 已采纳回答 9月16日
  • 创建了问题 8月20日

悬赏问题

  • ¥15 isolar-AB软件安装后打开出错
  • ¥15 如何让usb软件在电脑拔插无记录
  • ¥15 ecology9的待办推送外部系统
  • ¥15 Mplus跑出来的数据只有原数据的一半
  • ¥15 vue项目添加全局处理解决一些开发问题
  • ¥40 微信小程序前后端交互
  • ¥50 数据预处理(大量数据)
  • ¥15 多设备数据融合可视化显示控制
  • ¥15 公众号关键词自动回复超链接
  • ¥18 help me! 希望大家来看看 吉~