当前位置: 首页 > 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.zskr.cn/news/26841.html

相关文章:

  • CF1206B Make Product Equal One
  • 关于莫比乌斯函数的应用1
  • 软件工程第三次作业----结对项目
  • 操作备忘:在AE中让视频中间部分变慢
  • 基础的sql练习,全都理解你就是高手了!
  • 102500416 王浩宇
  • 中级问题
  • 20251021周二日记
  • 好想好想你
  • 【C语言学习记录】你好世界
  • 解答这些常见的智能合约安全问题,并提供相应的防护措施
  • 读AI赋能05消费者盈余
  • 梦回大唐王一牛
  • 一文读懂字体文件
  • C++编程练习
  • L07_在RuoYI项目中添加自己的接口并实现CRUD功能(轻松+AI版)
  • hevc解码器下载
  • [网络] [iproute2] tc命令:Linux网络异常模拟(Network Emulation, netem)指南
  • NOI 八
  • 10.18测试
  • [PaperReading] DeepSeek-OCR: Contexts Optical Compression
  • Win10安装WindowsCamera相机
  • 简易的本地部署OI-Wiki方法 for CCSP
  • [systemd] 如何为systemd服务进行资源限制
  • 宝塔面板
  • 机器学习基础 -- 线性回归模型
  • 软件工程作业三
  • 一键生成爆款文章,并自动发布!
  • 1188. 设计有限阻塞队列
  • MySQL分页解决方案