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

【题解】AT_abc432_e [ABC432E] Clamp

一眼 ds 题。

分析一下第二个式子:
\(l\leq r\),此时对于每个 \(a_i\),其贡献 \(sum\) 一定在 \([l,r]\) 中。具体地:

\[sum= \begin{cases} l,\ a_i < l \\ a_i,\ l\leq a_i\leq r \\ r,\ a_i>r \\ \end{cases}\]

对于第一、三种情况,考虑使用 BIT 维护数字的出现次数。
第二种情况也很好想:再用一个 BIT 维护数字之和。

修改操作就先撤销一个数的贡献,再加上新数的贡献。

诶到这里你可能会发现不对。
是的,因为题目并没有说明 \(l\leq r\)!!

于是思考 \(l>r\) 的情况:
就当你想与其大战一番的时候,你惊讶地发现它的答案就是 \(n\times l\)
(因为无论怎样,\(\min(r,a_i)\) 都一定 \(\leq r\),而 \(r<l\),所以最大值恒为 \(l\)

然后这道题就做完了。

注意:BIT 的 update(x,del)\(x\) 可能为 \(0\)

Code

// no note
#include<bits/stdc++.h>typedef int IT;
typedef long long LL;
typedef __int128 int128;
typedef double DB;
typedef long double LDB;#define pb push_back
#define fst first
#define sec second
#define psh push
#define mkp make_pair
#define PII pair<IT,IT>
#define PLI pair<LL,IT>
#define lowbit(x) ((x)&(-x))#define int long longusing namespace std;const int N=5e5+10,V=5e5,DEL=2;int n,q;
int a[N];struct BIT{int t[V+12];void update(int x,int del){for(;x<=V+DEL;x+=lowbit(x)) t[x]+=del;return;}int query(int x){int res=0;for(;x;x-=lowbit(x)) res+=t[x];return res;}
}T1,T2;
// 个数,和signed main(){scanf("%lld %lld",&n,&q);for(int i=1;i<=n;i++) scanf("%lld",&a[i]),T1.update(a[i]+DEL,1),T2.update(a[i]+DEL,a[i]);for(int i=1;i<=q;i++){int opt,x,y;scanf("%lld %lld %lld",&opt,&x,&y);if(opt&1){T1.update(a[x]+DEL,-1);T2.update(a[x]+DEL,-a[x]);a[x]=y;T1.update(a[x]+DEL,1);T2.update(a[x]+DEL,a[x]);}else{if(x>y){LL res=1ll*n*x;printf("%lld\n",res);continue;}LL res=1ll*(T1.query(x-1+DEL)-T1.query(-1+DEL))*x+1ll*(T1.query(V+DEL)-T1.query(y+DEL))*y+(T2.query(y+DEL)-T2.query(x-1+DEL));printf("%lld\n",res);}}return 0;
}

link

http://www.zskr.cn/news/51557.html

相关文章:

  • 关于python的库的层级引用问题
  • 如何计算一台服务器最大TCP连接数
  • Django Q对象查询完全指南
  • 学校真好!
  • 【EF Core】未定义实体类的数据库模型
  • 12.docker swarm - 指南
  • 从Ubuntu安装Harbor故障到了解AppArmor 与 Seccomp的思考
  • 2025年11月防冻液厂家推荐排行:五家实力对比与选购指南
  • 2025年11月防冻液厂家推荐对比:五家资质与性能全维度排行
  • 2025年11月防冻液厂家推荐榜:五家主流对比与选购指南
  • 一对一 WebRTC 视频聊天
  • 2025年11月载冷剂厂家推荐榜:五强真实数据与场景化选型指南
  • 2025年11月载冷剂厂家榜单:性能参数与口碑综合评测
  • 20232313 2025-2026-1 《网络与系统攻防技术》实验五实验报告 - 20232313
  • 2025年11月乙二醇厂家对比榜:五家主流厂商真实数据与选型要点
  • 2025年11月乙二醇厂家对比榜:五强产品性能与合规资质全盘点
  • 20232323 2024-2025-1《网络与系统攻防技术》实验五实验报告
  • make
  • (链表)逆置
  • 性能优化体系化建设:BI平台的深度优化实践
  • AT_jsc2019_qual_e Card Collector题解
  • 20251115ACC
  • 完整教程:(Linux) WSL 通过 VSCode 连接不执行 profile 问题(登录Shell问题)
  • python多进程通信 —— 两进程通信 —— Pipe与Queue的通信性能对比
  • noip7
  • dns服务详解
  • 一乐人物志
  • 详细介绍:基于Spring Boot的高校实习实践管理系统(源码+论文+部署+安装)
  • xml.etree.ElementTree 完全支持嵌套查找子元素,且有多种简洁实用的方式。