1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题面描述

塔子哥想要最大化他的快乐值,针对每本书的满意值进行阅读安排。阅读每本书花费1单位时间,书的快乐值为已花费时间与满意值的乘积。给定满意值的字符串输入,例如"4,3,2",表示书的满意值为4、3和2,塔子哥需要确定阅读顺序或选择不读某些书籍以获得最大的快乐值。输出为数字,代表最大快乐值之和。比如,输入"4,3,2"的输出为20,因为按照满意值的顺序阅读能够获得最大快乐值;而对于"-1,-4,-5"这样的输入,输出为0,因为不阅读任何书籍是最优选择。

思路:贪心

其实本质上就是最大化∑i×a[i]\sum i\times a[i]∑i×a[i]

对于正整数的情况,一定是优先把数值低的放在前面,数值高的放在后面,即直接对原数组进行升序排列即可。

P2354.第2题-读书

    1000ms Tried: 220 Accepted: 94 Difficulty: 5 所属公司 : 华为
    算法与标签>贪心算法

题目描述

  小明是个爱学习的孩子,并且喜好读书,并且更喜欢读好书,在某一天他要读n本书,读每一本书都要花费1单位时间,并且小明对每一本书有一个满意值,同时读完每一本书小明都会收获一定的快乐值,现在小明想知道要按照怎样的顺序读书读哪些书能使他收获的快乐值总和最大

  每本书籍的快乐值为读这本书和之前所有书所花费的时间乘以对这本书的满意值,可按照任意顺序读书,也可以放弃读某些书。

设书的总数为n,书的满意值为m

1≤n≤5001\leq n\leq 5001≤n≤500

−1000≤m≤1000-1000\leq m\leq 1000−1000≤m≤1000

输入描述

输入为字符串,字符串内容为代表每本书籍的满意值,例如输入为"4,3,2",表示有3本书,满意值分别是4、3和2

输出描述

输出为数字,代表最大的快乐值之和

样例

输入1

4,3,2

输出1

20

说明

按照原来顺序相反的时间阅读书籍(2 * 1 +3 * 2+4 * 3=20),满意值越高的书籍越后面读可以获得最大的快乐值。

输入2

-1,-4,-5

输出2

0

说明

这些书籍满意值都很低,所以不阅读任何书籍可以获得最大的快乐值 。

输入3

-1,-8,0,5,-9

输出3

14

说明

去掉第二个和最后一本书籍,最大的快乐时间系数和为(-1 * 1+0 * 2+5 * 3=14)每书籍都需要花费1单位时间来阅读 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 69ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?