当前位置: 首页 > news >正文

蓝桥杯备赛:Day8-小红杀怪

📚 算法笔记:小红杀怪 (枚举与最优决策)

1. 题目简述

D-小红杀怪_2024BistuACM萌新练习赛01

  • 场景:面对两只血量分别为a , b a, ba,b的怪物。
  • 技能 1 (火球术):对单体造成x xx伤害,消耗 1 次技能。
  • 技能 2 (烈焰风暴):对全体造成y yy伤害,消耗 1 次技能。
  • 目标:求击杀两只怪物的最少技能使用次数。
  • 数据范围a , b , x , y ≤ 20 a, b, x, y \le 20a,b,x,y20

2. 核心代码 (C++ 实现)

#include <bits/stdc++.h> using namespace std; // 全局变量建议在 solve 内部重置,防止多组数据干扰 int min_ops = 1000; void solve() { int a, b, x, y; if(!(cin >> a >> b >> x >> y)) return; // 核心思维:枚举。因为血量和伤害都很小,群体技能的使用次数一定在 [0, 20] 之间 for(int k = 0; k <= 20; k++) { // 1. 假设使用了 k 次群体技能后,两只怪物的剩余血量 int rem_a = max(0, a - k * y); int rem_b = max(0, b - k * y); // 2. 剩下的血量只能用单体技能“补刀”,计算各自需要的次数 (向上取整) int ops_a = (rem_a + x - 1) / x; int ops_b = (rem_b + x - 1) / x; // 3. 总次数 = 群体次数 k + 第一只怪补刀次数 + 第二只怪补刀次数 int current_ops = k + ops_a + ops_b; // 更新全局最小值 min_ops = min(min_ops, current_ops); } cout << min_ops << endl; } int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); int _ = 1; while(_--) { solve(); } return 0; }

3. 核心考点与注意事项

  • 枚举策略选择:当存在多种决策(单体 vs 群体)且其中一种决策的范围非常小时,优先枚举该决策。本题中枚举“群体攻击次数k kk”后,剩下的单体攻击次数是唯一确定的,从而简化了搜索空间。
  • 向上取整公式:在处理“伤害补刀”时,经常需要计算⌈ 血量 伤害 ⌉ \lceil \frac{血量}{伤害} \rceil伤害血量。在 C++ 整数运算中,公式为(a + b - 1) / b
  • 边界处理:剩余血量rem_arem_b必须与0max,防止出现负数血量导致补刀次数算出负值的逻辑错误。
http://www.jsqmd.com/news/605542/

相关文章:

  • 从零开始:Snap 官方指南与实战技巧
  • Swup完全指南:如何为传统网站添加现代化单页应用体验
  • 2026四川仿竹护栏网梯队名录:核心参数与服务能力盘点 - 优质品牌商家
  • OpenClaw+Qwen3-14b_int4_awq:24/7自动化监控与告警系统
  • rot.js完全指南:如何利用现代JavaScript模块化开发Roguelike游戏
  • GLM-4-9B-Chat-1M一文详解:GLM-4-9B-Chat-1M与Qwen2.5-72B长文本对比
  • Dev-C++ 6.3搭配EasyX图形库:从安装到画圆的保姆级教程
  • OpenClaw对接Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF实战:3步完成本地模型调用
  • G-Helper终极指南:5分钟精通华硕笔记本性能调校
  • QWEN-AUDIO真实项目作品:某省级图书馆AI语音导读系统生成样本
  • 动态数组(类似vector)的简易实现
  • 2026年靠谱的集装箱厕所/集装箱岗亭用户口碑推荐厂家 - 行业平台推荐
  • 第三大的数
  • java架构一/1:微服务电商/地基/登录
  • OpenClaw浏览器控制:Qwen3.5-9B自动填写复杂Web表单
  • 2026年4月严苛环境靠谱氢气发电机厂家推荐:24小时发电机出租、UPS不间断电源租赁、临时发电机出租、乙醇发电机组选择指南 - 优质品牌商家
  • Tinycon终极指南:如何在网站favicon上优雅显示通知气泡的完整教程
  • Z-Image-Turbo_Sugar脸部Lora入门必看:从Xinference启动到Gradio出图完整流程
  • 蓝桥杯备赛:Day8-小苯的异或和
  • 2026年单玻隔断厂家排行:甘肃成品隔断、甘肃活动隔断、甘肃玻璃隔墙、甘肃玻璃隔断、甘肃百叶隔断、甘肃移动隔断选择指南 - 优质品牌商家
  • Qwen3.5-9B垂直场景:制造业BOM表解析+工艺图识别+故障推演
  • 二叉树(C语言)
  • 从零开始构建嵌入式安全:OP-TEE可信执行环境实战指南
  • Creo混合与扫描混合实战:从基础到高级建模技巧
  • 跨平台文件同步:OpenClaw调用Gemma-3-12b-it智能分类备份方案
  • IHaskell实战案例:利用梯度下降算法解决实际优化问题的完整演示
  • AI 设计模式 04:多智能体协作模式 —— 给 AI 组个团队,干活比你公司的人还利索
  • 光电对抗:激光与激光雷达成像探测制导及电子对抗(2)
  • OpenClaw版本升级:无缝迁移Kimi-VL-A3B-Thinking配置到新版本
  • Qwen3-Reranker-0.6B镜像部署:开箱即用的RAG重排序服务容器化方案