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

C/C++每日一练19

第一题:小易的升级之路

题目描述:小易初始攻击力为 a,有 n 个怪兽,每个怪兽有防御力 x [i] 和攻击力 y [i]。若小易当前攻击力 > x [i],则击败怪兽后攻击力增加 y [i],否则无法击败。求小易最终的攻击力。算法原理:每次选择防御力最低的怪兽击败,才能最大化攻击力提升。所以先将怪兽按防御力升序排序,然后依次判断能否击败,能击败则累加攻击力,直到无法击败或击败所有怪兽。代码:

cpp

运行

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, a; cin >> n >> a; vector<pair<int, int>> monsters(n); for (int i = 0; i < n; ++i) { cin >> monsters[i].first >> monsters[i].second; } sort(monsters.begin(), monsters.end()); for (auto& m : monsters) { if (a > m.first) { a += m.second; } else { break; } } cout << a << endl; return 0; }

第二题:礼物的最大价值

题目描述:m×n 的网格中,每个格子有礼物价值,从左上角出发,每次只能向右或向下移动,求到达右下角的最大礼物价值。算法原理:动态规划。设 dp [i][j] 为到达 (i,j) 的最大价值,转移方程 dp [i][j] = max (dp [i-1][j], dp [i][j-1]) + grid [i][j]。边界:第一行只能从左向右,dp [0][j] = dp [0][j-1] + grid [0][j];第一列只能从上到下,dp [i][0] = dp [i-1][0] + grid [i][0]。可优化为一维数组 dp [j],每次更新时 dp [j] = max (dp [j], dp [j-1]) + grid [i][j]。代码:

cpp

运行

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int m, n; cin >> m >> n; vector<vector<int>> grid(m, vector<int>(n)); for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> grid[i][j]; } } vector<int> dp(n, 0); dp[0] = grid[0][0]; for (int j = 1; j < n; ++j) { dp[j] = dp[j-1] + grid[0][j]; } for (int i = 1; i < m; ++i) { dp[0] += grid[i][0]; for (int j = 1; j < n; ++j) { dp[j] = max(dp[j], dp[j-1]) + grid[i][j]; } } cout << dp[n-1] << endl; return 0; }

第三题:对称之美

题目描述:判断一个字符串是否是回文串,即正读和反读都一样,例如 “abcba” 是回文串,“abca” 不是。算法原理:双指针法。左指针从字符串开头,右指针从结尾,依次比较两个指针指向的字符是否相等。若所有对应字符都相等则是回文串,否则不是。代码:

cpp

运行

#include <iostream> #include <string> using namespace std; int main() { string s; cin >> s; int left = 0, right = s.size() - 1; bool is_palindrome = true; while (left < right) { if (s[left] != s[right]) { is_palindrome = false; break; } left++; right--; } cout << << endl; return 0; }
谢谢
http://www.cnnetsun.cn/news/3875862.html

相关文章:

  • Codex 接入飞书
  • Grok 双通道 MCP 权限失控实录:只读代理竟偷偷改了我的生产索引
  • 深圳网站建设套餐多少钱?揭秘企业官网搭建背后的真实成本与避坑指南
  • 云原生AI算力平台:关键技术、优化实践与应用场景
  • Vibe Coding 深夜失控实录:我的 AI Agent 用 Claude Code 疯狂生成 200 个重复微服务
  • 制造企业数字化转型:燃气配套企业布局智能线上营销与海外出海
  • 2026年PDF处理工具盘点:7款主流格式转换效率横评
  • 做电商,别再一张张出图了:AI 如何一次做齐整套商品素材?
  • 技术深度解析:Qwen-Image-Layered实现图像分层分解与内在可编辑性
  • shadcn-solid与其他UI库对比:为什么它是SolidJS的最佳选择
  • 防休眠神器Move Mouse:5分钟学会智能保持电脑活跃的终极方案
  • 3d-vehicle-tracking常见问题解答:新手必知的8个关键知识点
  • 建站公司告诉你,网站建设包括哪些方面(全流程深度解析)
  • Alembic与GeoAlchemy2迁移指南:空间数据表的版本控制最佳实践
  • 10分钟上手rpy2:从安装到执行R代码的快速入门教程
  • Palworld存档编辑终极指南:使用palworld-save-tools轻松转换游戏存档格式
  • 百度网盘加速神器:BaiduPCS-Web终极免费下载方案
  • Copilot改按量计费后,我找了个不绑客户端的平替方案
  • Designcenter NX 官方教程丨第二讲 坐标系和图层使用方法
  • 2026年天津做城市生命线安全工程建设的厂家有哪些?
  • 2026年8月青岛到东莞物流,究竟何时能预约提货?快来一探究竟!
  • 新手站长必看:从零开始建设一个网站需要什么完整指南与避坑指南
  • 3分钟上手MiniMax-H3:ComfyUI新手必备配置清单
  • 基于模型的数据库构建:从数据存储到智能赋能的范式跃迁
  • 单片机计算机毕设之基于 STM32 单片机的阈值自定义智能园艺管理装置设计 基于 STM32 单片机的农业环境参数实时显示与自动控制系统(011702)
  • lsp-java核心功能揭秘:代码补全、导航与重构的高效实践
  • DiffusionKit Swift开发入门:在iOS和macOS应用中集成本地图像生成功能
  • 域名解析网站建设:从注册到上线的完整避坑指南,教你打造高转化的企业官网
  • ComfyUI ReActor换脸插件终极指南:如何在1秒内完成专业级AI面部替换
  • 从论文到代码:Chronos-Bolt-Mini零样本预测原理与实现详解