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

CF2007B Index and Maximum Value

CF2007B Index and Maximum Value



思路

如果真的按照题意思路写模拟代码,时间复杂度为O(n*m);
那就换思维:

假设当前最大值是 mx

如果 mx在区间内,它必然会被操作影响。
所有等于 mx的值都一起加/减;
所以新最大值就是 mx+1或 mx−1

如果 mx不在区间内:
当前最大元素完全没动;
而所有其他元素最多变化±1;
不可能超过它;所以最大值不变。

因此我们只需维护一个变量 mx

所以我们只需要一开始找到最大值mx,跟踪mx的变化即可


AC代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;signed main()
{ios::sync_with_stdio(false);cin.tie(0);int t;cin >> t;while (t--){int n, m;cin >> n >> m;vector<ll> a(n);for (int i = 0; i < n; i++){cin >> a[i];}ll mx = *max_element(a.begin(), a.end());while (m--){char op;ll l, r;cin >> op >> l >> r;if (mx >= l && mx <= r){if (op == '+')mx++;elsemx--;}cout << mx << ' ';}cout << '\n';}
}
http://www.hskmm.com/?act=detail&tid=36204

相关文章:

  • 2022 ICPC Jinan DG and 2022 ICPC Nanjing
  • 图像分割 sam1 - MKT
  • SDL-1
  • CF1206B Make Product Equal One
  • 软件工程第三次作业----结对项目
  • 关于莫比乌斯函数的应用1
  • 用deepseek写的一个求原根的程序
  • 操作备忘:在AE中让视频中间部分变慢
  • 记一次精简系统Windows11英文版离线安装中文语言包的过程
  • 阿里巴巴数据库开发手册
  • AI元人文:赋能公共治理、司法与监管的价值权衡新范式
  • 基础的sql练习,全都理解你就是高手了!
  • nginx快速实现平滑版本升级
  • Luogu P11159 【MX-X6-T5】 再生 题解 [ 蓝 ] [ 前缀和 ] [ 组合计数 ]
  • 王浩宇 102500416
  • 程序员修炼之路:从小工到专家 读书笔记 2
  • 程序员修炼之路:从小工到专家 读书笔记 3
  • 中级问题
  • 2025.10.21
  • 解答在同步以太坊事件数据时,如何保证后端服务在 API/RPC 不稳定情况下的可用性
  • 程序员修炼之道:从小工到专家 读书笔记 1
  • 好想好想你
  • 10.21日学习笔记
  • 数据库概述
  • 第1天(简单题 基础语法 数据类型、条件判断 、循环 循环嵌套、位运算, ASCII 码)
  • 24信计2班 17曾向嵩 pytorch读书报告
  • 关于第一次作业的时长统计
  • Go 语言问题解释
  • Keil_v5的用法
  • day 8