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

2025.11.07 力扣每日一题

2528.最大化城市的最小电量

//解决“最大化最小供电量” 问题 核心思路是二分查找 + 贪心策略 + 差分数组
//目标是让所有城市的供电量中最小的那个值尽可能大。
class Solution {
public:long long maxPower(vector<int>& stations, int r, int k) {//计算初始供电量(差分数组 cnt)int n = stations.size();vector<long long> cnt(n + 1);// 差分数组,大小n+1避免越界for (int i = 0; i < n; i++) {int left = max(0, i - r);// 第i座城市的供电站覆盖的左边界int right = min(n, i + r + 1);// 覆盖的右边界(差分数组的右边界是开区间)cnt[left] += stations[i];// 左边界加供电站数量cnt[right] -= stations[i];// 右边界减供电站数量}
//check 函数(验证目标值是否可达)auto check = [&](long long val) -> bool {vector<long long> diff = cnt;// 复制差分数组(避免修改原数组) long long sum = 0;// 当前城市的实际供电量(前缀和)long long remaining = k;// 剩余可建造的电站数量for (int i = 0; i < n; i++) {sum += diff[i];if (sum < val) {// 若当前供电量不足,需要补建电站long long add = val - sum;//需要补建的数量if (remaining < add) {// 剩余电站不够,目标不可达return false;}remaining -= add;// 消耗剩余电站// 补建的电站应放在尽可能靠右的位置(覆盖范围最大)int end = min(n, i + 2 * r + 1);// 补建电站的覆盖右边界diff[end] -= add;// 差分数组标记:从i到end-1增加addsum += add;// 当前城市的供电量更新为val}}return true;// 所有城市都满足≥val,目标可达};
//二分查找框架long long lo = ranges::min(stations);// 下界:初始最小供电站数量(保守估计)long long hi = accumulate(stations.begin(), stations.end(), 0LL) + k;// 上界:总电站+额外k座long long res = 0;while (lo <= hi) {long long mid = lo + (hi - lo) / 2;// 中间值(当前猜测的最小供电量)if (check(mid)) {// 若能实现所有城市供电量≥midres = mid;// 更新答案lo = mid + 1;// 尝试更大的目标} else {hi = mid - 1;// 目标太大,尝试更小的}}return res;}
};

http://www.dtcms.com/a/585805.html

相关文章:

  • 网站建设 技术协议wordpress 文本框
  • pcl 构造线、平面、圆、球、圆柱体、长方体、圆锥体点云数据
  • m 的手机网站怎么做小俊哥网站建设
  • 电科金仓KingbaseES数据库全面语法解析与应用实践
  • 化妆品网站建设经济可行性分析好看的设计网站
  • 工程门户网站建设新桥做网站
  • 【开题答辩过程】以《割草机器人工作管理系统的设计与开发》为例,不会开题答辩的可以进来看看
  • 线束之插头导航器显示连接物功能文本
  • JVM(一)----- 类加载过程
  • 猎聘网网站谁做的东莞网页网站制作
  • Spring 6.x HTTP interface 使用说明
  • 庙行镇seo推广网站江西移动网站
  • C++ 图片加背景音乐的处理
  • 进度条+ 基础开发工具----版本控制器git 调试器gdb/cgdb
  • 我在高职教STM32(新11)——LCD1602显示效果控制
  • 将 AI 注入终端:Gemini CLI 保姆级安装与实战指南
  • 珠海市住房城乡建设局网站衡阳网站建设公司哪家好
  • leetcode 345. 反转字符串中的元音字母 python
  • 创建一个网站 站点根文件夹为wordpress互动
  • 网站建设账务处理属于什么费用瑞安这边有没有做网站的
  • S14排序算法--基数排序
  • 人工智能之数学基础:连续型随机变量的期望
  • 江苏省住房和城乡建设厅网站首页东莞微联建站
  • SVG 简介
  • PostgreSQL 高可用实战:流复制主从集群(0 数据丢失 + 故障无缝切换)
  • antd Form表单实践模板(Form.useForm)
  • 数据结构与算法概述
  • n8n + Pinecone + ModelScope:知识库向量查询工作流实战
  • C++ 面向对象三大特性之一---多态
  • 合肥企业网站建设网站图片怎样做seo优化