关注
作者:Leoric 链接:https://www.nowcoder.com/discuss/73357 来源:牛客网 首先计算出假设你是无敌状态(不会死亡)至少需要多少步打死怪兽,先进行a次加攻击操作,再进行b次攻击操作,且a+b最小。这个结果可遍历得到(可能列式直接计算也行)。这样,就把加攻击和攻击两种操作合并了,称为杀怪操作,并设这个操作最小次数为c。复杂度O(100*100)。 接着考虑生存方面,同样,把回血和减攻合并为防御操作。显然,我们需要先进行防御操作,使怪兽的攻击和自身的生命值足以让我们进行c次攻击操作。在防御操作中,我们应该尽可能地把减攻操作给安排在前面,即如果整个战略中还需要进行减攻操作且自身当前的生命值大于怪兽攻击力,则必然进行减攻操作。另外,假设我们完成了减攻操作,则进行d次回复,使得能够进行c次攻击且自身不会死亡。因此,可以从初始状态出发,令step=0。然后循环使step++,并且如果怪兽攻击力大于生命值,则回复生命值,否则减少怪兽攻击力,对于每个step,可以用O(1)的复杂度直接计算出回复次数d,则总步数为step+d+c。这样计算得到多个总步数,取最小值就得到最终结果。复杂度O(100)。
查看原帖
点赞 2
相关推荐
![](https://static.nowcoder.com/fe/file/oss/icon_job.png)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 985计算机老学长掏心窝子:当年我踩过的坑,希望你们能绕开2.3W
- 2... 腾讯-后台开发-腾讯hr部门 一面4725
- 3... 腾讯实习基地-ieg-Level Infinite-一面4683
- 4... 想要在大厂生存必须要学会提效4623
- 5... 字节飞书后端面试4606
- 6... 2.17校招&实习招聘信息汇总3248
- 7... 实习入职第一天,应该做点啥❓3248
- 8... 重生归来,鼠鼠接手北区业务,这一次......3219
- 9... 实习第二天,被老员工欺负了2956
- 10... 【已挂】影石Insta360|嵌入式软件|日常实习一面2597
正在热议
更多
# 读研or工作,哪个性价比更高? #
24336次浏览 328人参与
# 如果重来一次你还会读研吗 #
154526次浏览 1697人参与
# 科大讯飞求职进展汇总 #
258867次浏览 2595人参与
# 秋招感动瞬间 #
10845次浏览 102人参与
# 阿里巴巴创始人马云回国 #
14237次浏览 87人参与
# 职场新人生存指南 #
195516次浏览 5388人参与
# 你最满意的offer薪资是哪家公司? #
11886次浏览 109人参与
# 长光卫星求职进展汇总 #
27583次浏览 184人参与
# 文科生还参加今年的春招吗 #
3363次浏览 29人参与
# 追觅科技求职进展汇总 #
8522次浏览 58人参与
# 选择和努力,哪个更重要? #
42135次浏览 472人参与
# 招聘要求与实际实习内容不符怎么办 #
41177次浏览 468人参与
# 打工人的工作餐日常 #
24708次浏览 221人参与
# 机械制造岗投递时间线 #
19317次浏览 324人参与
# 小红书求职进展汇总 #
40408次浏览 346人参与
# 影石Insta360求职进展汇总 #
107655次浏览 969人参与
# 如果再来一次,你还会学硬件吗 #
102800次浏览 1236人参与
# 机械人选offer,最看重什么? #
68581次浏览 433人参与
# 机械人怎么评价今年的华为 #
180324次浏览 1484人参与
# 滴!实习打卡 #
554578次浏览 6007人参与