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

二分+贪心

lc3449

二分+贪心

二分答案,在步数限制内,求能达到的最大最小分数

class Solution {
public:
long long maxScore(vector<int>& points, int m) {
auto check = [&](long long low) -> bool {
int n = points.size(), rem = m, pre = 0;
for (int i = 0; i < n; i++) {
int k = (low - 1) / points[i] + 1 - pre; // 还需要操作的次数
if (i == n - 1 && k <= 0) { // 最后一个数已经满足要求
break;
}
k = max(k, 1); // 至少要走 1 步
rem -= k * 2 - 1; // 左右横跳
if (rem < 0) {
return false;
}
pre = k - 1; // 右边那个数顺带操作了 k-1 次
}
return true;
};

long long left = 0;
long long right = 1LL * (m + 1) / 2 * ranges::min(points) + 1;
while (left + 1 < right) {
long long mid = left + (right - left) / 2;
(check(mid) ? left : right) = mid;
}
return left;
}
};

http://www.jsqmd.com/news/387764/

相关文章:

  • 《LLM》学习笔记
  • ffmpeg提取视频序列到opentoonz序列帧名称参考
  • 完整教程:【论文自动阅读】NeoVerse: Enhancing 4D World Model with in-the-wild Monocular Videos
  • 《强化学习》笔记
  • 关于opentoonz直接导入视频会闪退崩溃的问题的解决方法
  • Maven配置加载:动态替换的艺术
  • 你如何看待代码规范?
  • ffmpeg提取视频序列命令参考
  • 题解:洛谷 P2415 集合求和
  • DeepSeek 总结的duckdb-behavioral插件说明
  • ffmpeg视频提取序列在bash脚本
  • many years gone
  • 完整教程:第0章|栏目简介:把 Mac M2 Ultra 变成“家庭私有 AI 生产机房”
  • linux设备驱动的异步通知和异步IO
  • AI电话数字员工怎么选?四大主流平台技术路径、部署方式与ROI深度解析
  • 复杂经济系统仿真:ABM 方法、算法与实践指南
  • 实验室设备整机研发开发设计如何创新?2026智能化与用户体验融合新趋势解读 - 匠言榜单
  • 金融领域元学习在投资组合动态调整中的应用
  • 制造业时序数据管理的演进:从传统数据库到时序数据库的转型之路 - 详解
  • 基于物理机理引导和自编码器融合的机械早期故障诊断(Python,完善中)
  • Vite/Rollup 环境变量全攻略:`import.meta.env` 如何让你的配置飞起来
  • AI原生应用用户体验优化:以用户为中心的设计思路
  • 开源版 Emqx 通过代码操作和 Webhook 使用
  • Assert:代码安全的隐形守护者——如何用断言预防类型混淆攻击
  • Hive与Spark SQL对比:大数据查询引擎选型指南
  • Agentic AI提示工程核心能力:设计“能对话的反馈系统”,让AI从工具变搭档的方法论
  • Hadoop为大数据领域带来的变革与机遇
  • 数据交易合规性指南:如何规避法律风险?
  • linux中断和响应
  • LangGraph4j 学习系列(1)-顺序工作流