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分析

解题思路

本题要求在总法力值不超过 M 的前提下,使得到的魔法强度之和最大。约束包括:课程必须按顺序学习(只能学前缀),每门课必须在某一层完整学习,楼层会同时放大收益与消耗,并且只在上行切换楼层时需要额外的法力消耗(等于楼层差),下行或不变不额外消耗。

核心做法是动态规划(DP),状态带上“已学到第几门课”“当前所处楼层”“已花费法力”。 设楼层从 1..m 编号、课程从 1..n。令:

  • gain(i, j) = power[i] * bonus[j]:第 i 门课在第 j 层的强度增益;
  • cost(i, j) = mana[i] * bonus[j]:第 i 门课在第 j 层的法力消耗;

P3849.第3题-魔法学院

    1000ms Tried: 144 Accepted: 28 Difficulty: 6 所属公司 : 拼多多
    算法与标签>动态规划

题目内容

多多进入了魔法学院学习,学院有 n 门不同的魔法课程,每门课程都有其独特的属性:

power[i]:学习这门课程能提升的魔法强度

mana[i]:学习这门课程需要消耗的法力值

学院的教学楼有m 层,每层有不同的环境加成系数 bonus[i](1≤bonus[i]≤31≤bonus[i]≤31≤bonus[i]≤3)。

多多总共有 M 点初始法力值。

特殊规则:

1.顺序学习:多多必须按顺序学习课程(必须先学课程 111,再学课程 222,以此类推)。

2.楼层绑定:每门课程只能在某一层完整学习,不能跨层。

3.强度加成:在第 j 层学习第 i 门课程时,获得的实际魔法强度为power[i] × bonus[j]。

4.法力消耗:在第 j 层学习第 i 门课程时,消耗的实际法力值为 mana[i] × bonus[j]。

5.切换代价:多多可以在不同楼层之间切换课程,第一次学习选择楼层没有切换代价,但每次切换可能会额外消耗楼层高度差的法力值。如果从低楼层切换到高楼层,比如从 111 层切换到 444 层,消耗 333 点法力,如果从高楼层切换到低楼层,则不会消耗额外的法力

请求出在满足法力值限制(总法力消耗不超过 M )的条件下,多多能获得的最大魔法强度总和(无需学完所有课程)。

输入描述

第一行三个整数 n,m,M(1≤n≤100,1≤m≤5,1≤M≤1000)(1≤n≤100,1≤m≤5,1≤M≤1000)(1≤n≤100,1≤m≤5,1≤M≤1000)

第二行 n 个整数,表示 power[i](1≤power[i]≤100)(1≤power[i]≤100)(1≤power[i]≤100)

第三行 n 个整数,表示 mana[i](1≤mana[i]≤100)(1≤mana[i]≤100)(1≤mana[i]≤100)

第四行 m 个整数,表示 bonus[j](1≤bonus[j]≤3)(1≤bonus[j]≤3)(1≤bonus[j]≤3)

输出描述

输出一个整数,表示能获得的最大魔法强度总和。如果无法完成任何课程(例如,第一门课程在任何一层学习的法力消耗都超过 M ),则输出 000 。

补充说明

对于 202020 %的数据:n≤10,1≤m≤5,1≤M≤1000n≤10,1≤m≤5,1≤M≤1000n≤10,1≤m≤5,1≤M≤1000

对下 606060 % 的数据:n≤30,1≤m≤5,1≤M≤1000n≤30,1≤m≤5,1≤M≤1000n≤30,1≤m≤5,1≤M≤1000

对于 100100100 %的数据:1≤n≤100,1≤m≤5,1≤M≤10001≤n≤100,1≤m≤5, 1≤M≤10001≤n≤100,1≤m≤5,1≤M≤1000

样例1

输入

1 1 5
10
5
2

输出

0

说明

111 门课程,111 层楼,初始法力值 555 课程强度 101010,消耗 555 ,楼层加成 222 实际消耗 =5×2=10>5=5×2=10>5=5×2=10>5 (无法学习)

样例2

输入

2 2 20
5 10
2 3
2 3

输出

45

说明

222 门课程,222 层楼,初始法力值 [2,3][2,3][2,3]

课程强度: [5,10][5,10][5,10],消耗: [2,3][2,3][2,3],楼层加成: [2,3][2, 3][2,3]

可能的方案:

都在 111 层(加成 222 ):消耗 =2×2+3×2=4+6=10=2×2+3×2=4+6=10=2×2+3×2=4+6=10,强度 =5×2+10×2=10+20=30=5×2+10×2=10+20=30=5×2+10×2=10+20=30

都在 222 层(加成 333):消耗 =2×3+3×3=6+9=15=2×3+3×3=6+9=15=2×3+3×3=6+9=15,强度 =5×3+10×3=15+30=45=5×3+10×3=15+30=45=5×3+10×3=15+30=45

课程 111 在 111 层,课程 222 在 222 层:切换消耗 =2−1=1=2-1=1=2−1=1,总消耗 =2×2+3×3+1=4+9+1=14=2×2+3×3+1=4+9+1=14=2×2+3×3+1=4+9+1=14,强度 =5×2+10×3=10+30=40=5×2+10×3 =10+30=40=5×2+10×3=10+30=40

课程 111 在 222 层,课程 222 在 111 层:切换消耗 =0=0=0,总消耗 =2×3+3×2=6+6=12=2×3+3×2=6+6=12=2×3+3×2=6+6=12,强度 =5×3+10×2=15+20=35=5×3+10×2=15+20=35=5×3+10×2=15+20=35

登录后即可使用 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 1, 35ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?