题解 | 区间增量与区间小于计数

区间增量与区间小于计数

https://www.nowcoder.com/practice/74481dd14e3b4875a190952f86e6ffab

#include <bits/stdc++.h>
using namespace std;
int main(){
    long long n,q;
    cin>>n>>q;
    vector<long long>a(n+1);
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    while(q--){
        long long op,l,r,x;
        cin>>op>>l>>r>>x;
        if(op==1){
            for(long long i=l;i<=r;i++){
                a[i]+=x;
            }
        }
        if(op==2){
            long long ans=0;
            for(long long i=l;i<=r;i++){
                if(a[i]<x){
                    ans++;
                    
                }
                
            }
            cout<<ans<<'\n';
        }
    }
    
}

1. 先读取数组长度 n 和操作次数 q 。​2. 读取初始数组,存入 vector 中。​3. 循环处理 q 次操作:​

  • 如果是操作1,执行区间加法。
  • 如果是操作2,执行区间统计并输出结果。

操作1(区间加法)的原理

  • 核心逻辑:遍历区间 [l, r] ,对每个元素执行 a[i] += x 。
  • 本质:暴力修改,直接对区间内的每个元素进行更新。

操作2(区间统计)的原理

  • 核心逻辑:遍历区间 [l, r] ,逐个判断元素是否小于 x ,并统计满足条件的数量。
  • 本质:暴力查询,直接遍历区间内的每个元素进行判断。
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-20 22:18
FightingNa...:小厂不喜欢离毕业还远的。培养你三个月小半年,你又回去上学,你丰富简历爽歪歪,小厂啥也得不到。大厂兴许愿意培养你,可以试试大厂,准备下不黑了就行。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务