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

题解:AT_pakencamp_2024_day1_c One Half

题目分析

对每个查询区间 \([L_i,R_i]\),先计算该区间的总和 \(S\),再找到最小的 \(n\)(满足 \(L_i≤n≤R_i\)),使得从 \(L_i\)\(n\) 的累加和首次超过 \(\frac{S}{2}\)

由于数据范围为 \(N,Q≤2×10^5\),暴力遍历每个查询的区间会导致 \(O(Q×N)\) 的时间复杂度(约 \(4×1010\) 次操作),必然超时。因此需要选择前缀和 + 二分查找的高效解法。

关键观察

数列中所有元素 \(A_i ≥1\),因此前缀和数组是严格单调递增的。这意味着对于任意区间 \([L,R]\),从 \(L\) 开始的累加和会随着 \(n\) 增大而严格增大,这满足二分查找的单调性条件,所以理所应当用二分。

Code

#include <iostream>
#include <vector>
using namespace std;int main() {int N;cin >> N;vector<long long> pre(N + 1, 0); // 前缀和数组for (int i = 1; i <= N; ++i) {long long a;cin >> a;pre[i] = pre[i-1] + a;}int Q;cin >> Q;while (Q--) {int L, R;cin >> L >> R;// 计算[L, R]的总和Slong long S = pre[R] - pre[L-1];long long st = S / 2;// 二分查找最小的n ∈ [L, R]int l = L, r = R;int ans = R; // 初始值设为R(最坏情况取到R)while (l <= r) {int mid = l + (r - l) / 2; // 避免溢出long long sum = pre[mid] - pre[L-1];if (sum > st) {ans = mid; // 找到可能的更小值,记录并向左收缩r = mid - 1;} else {l = mid + 1; // 不满足,向右找}}cout << ans << '\n';}return 0;
}
http://www.jsqmd.com/news/375201/

相关文章:

  • Burp Suite 入门文档(官方翻译)
  • PyTorch项目合集一
  • springboot民宿管理系统--附源码32900 - 详解
  • 免费城市夜景视频素材网站推荐
  • TikTok Shop东南亚2026退货新规来袭!海外仓这样布局抢占先机
  • 完整教程:MySQL数据可视化实战:从查询到图表全攻略
  • 面向大模型开发:在项目中使用 TOON 的实践与流式处理深度解析:原理、实战与踩坑记录
  • 3:【GitHub连接】Connection timed out port 22 → 改用443端口SSH(公司/校园网2026常见)
  • 探索 LDO 电路:模拟集成电路设计的实践之旅
  • 2:【新手最坑】git push HTTPS vs SSH反复失败怎么彻底统一
  • 4:【Git clone】fatal: unable to access / timeout / proxy设置
  • 如何在大数据领域运用 OLAP 提升业务洞察
  • 写论文是看完一堆文献后再写,还是边看边写
  • P10720 [GESP202406 五级] 小杨的幸运数字 欧拉筛
  • 5:【Git】remote origin already exists 如何安全修改URL
  • 1:【GitHub 2026】Permission denied (publickey) / 403 一键解决(SSH ed25519 + ssh-agent)
  • [幻灯]《软件方法》引导AI03-业务流程建模和改进
  • GLUT
  • 2024智能能源管理新趋势:上下文工程将成为提示工程架构师的核心能力
  • [幻灯片]《软件方法》引导AI全流程开发幻灯片02-愿景
  • 智能营销AI平台建设:如何设计弹性可扩展架构?
  • 国自然申请书卡壳了怎么办?
  • 【Docker基础篇】WSL2+Docker Desktop完整配置指南:Windows也能拥有原生Linux开发体验
  • 2月12号
  • Windows Hyper-V 安装 Ubuntu 系统完整教程(避坑版)
  • When Tables Go Crazy Evaluating Multimodal Models on French Financial Documents
  • python学习笔记4运算符与表达式
  • 深入解析:SRS流媒体服务器二次开发-实现媒体流采集服务
  • 2026主管护师3个月极限上岸:这份详细备考拆解方案,现在看完全来得及! - 医考机构品牌测评专家
  • 【Azure APIM】为何APIM自建网关中的cache-lookup-value策略无法正常工作?