给定一个n个正整数组成的数组_求数组最小差值最优算法

给定一个n个正整数组成的数组_求数组最小差值最优算法给定长度为 N 的数列 A,然后输入 M 行操作指令。第一类指令形如 C l r d,表示把数列中第 l∼r 个数都加 d。第二类指令形如 Q x,表示询问数列中第 x 个数的值。对于每个询问,输出一个整数表示答案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数 A[i]。接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。数据范围1≤N,M≤105,|d|≤10000,|A[i]|≤109输

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给定长度为 N 的数列 A,然后输入 M 行操作指令。

第一类指令形如 C l r d,表示把数列中第 l∼r 个数都加 d。

第二类指令形如 Q x,表示询问数列中第 x 个数的值。

对于每个询问,输出一个整数表示答案。

输入格式
第一行包含两个整数 N 和 M。

第二行包含 N 个整数 A[i]。

接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。

输出格式
对于每个询问,输出一个整数表示答案。

每个答案占一行。

数据范围
1≤N,M≤105,
|d|≤10000,
|A[i]|≤109

输入样例:
10 5
1 2 3 4 5 6 7 8 9 10
Q 4
Q 1
Q 2
C 1 6 3
Q 2
输出样例:
4
1
2
5
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int a[N];
ll d[N];
ll trie[N];
int n,m;
int lowbit(int x){ 
   
    return x & (-x);
}
void add(int x,int y){ 
   
    while(x <= n + 1){ 
   
        trie[x] += y;
        x += lowbit(x);
    }
}
ll query(int x){ 
   
    ll sum = 0;
    while(x){ 
   
        sum += trie[x];
        x -= lowbit(x);
    }
    return sum;
}
int main(){ 
   
    cin>>n>>m;
    int x;
    for(int i = 1;i <= n;i ++){ 
   
        cin>>a[i];
        d[i] = a[i] - a[i - 1];
    }
    for(int i = 1;i <= n;i ++){ 
   
        add(i,d[i]);
    }
    char c;
    int y,d;
    for(int i = 0;i < m;i ++){ 
   
        cin>>c>>x;
        if(c == 'C')cin>>y>>d;
        if(c == 'Q'){ 
   
            cout<<query(x)<<endl;
        }else{ 
   
            add(x,d);
            add(y + 1,-d);
        }
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169101.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月10日 下午9:16
下一篇 2022年8月10日 下午9:16


相关推荐

  • 获取 Nuget 版本号

    获取 Nuget 版本号本文告诉大家通过命令行获取 Nuget 的版本号

    2026年3月18日
    2
  • vue django mysql_Python MySQL

    vue django mysql_Python MySQL工作之余断断续续根据网上找到的教程进行环境搭建,搭建了多个。但是一直没有一个整体概念,到底该先做什么,后做什么,操作一步后,结果应该是怎样另外,网上的教程都是直接用命令行操作,用pycharm又应该怎么弄呢环境搭建好以后,应该怎么分目录结构,应该先从哪里的代码开始写,写了以后,又需要做哪些配置这些问题一直困扰着我,所以我决定边学边记录整理。也希望能帮助同为初学者的你少走一些…

    2022年8月28日
    9
  • JAVA HD japan_小米小爱AI音箱HD【硬件分析】,你了解智能音箱吗

    JAVA HD japan_小米小爱AI音箱HD【硬件分析】,你了解智能音箱吗小米目前智能音箱的布局有小米 AI 音箱和小米小爱音箱 mini 不久前小米又推出了第三款 AI 音箱 小米小爱智能音箱 HD 那么小米小爱音箱 HD 整机硬件是怎么样的呢 本文为你分析一下 小米小爱智能音箱 HD 我们先来看一下小米小爱智能音箱 HD 的硬件框图 主要有电源管理 IC CPU 内存 无线通信模块 功放驱动和氛围灯驱动 麦克风 喇叭 RGB 灯等组成 硬件框图 CPUCPU 用的是 Amlogic 晶晨的 A113X

    2026年3月19日
    2
  • TranslateMessage函数 (转)「建议收藏」

    TranslateMessage函数 (转)「建议收藏」TranslateMessage是用来把虚拟键消息转换为字符消息。由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。TranslateMessage函数用于将虚…

    2025年11月6日
    4
  • 咋搭建域控服务器,Active Directory虚拟机搭建域控服务器环境

    咋搭建域控服务器,Active Directory虚拟机搭建域控服务器环境前言还是和上一章一样 痛苦过后还是记录下给后来人提供便利为妙 虚拟机选择 建议 Hyper V 或者 VMware 系统选择 建议 WIindowsServ 及以上我这里是使用 VMwareWorkst Windowsserve 系统 虚拟机网络的配置 1 查看 VMware 虚拟网络编辑器 主要查看 NAT 模式 我这里 NAT 模式 VMnet8 网络 IP

    2026年3月17日
    1
  • 云计算与虚拟化的区别

    云计算与虚拟化的区别1 传统数据中心面临的问题在讲云计算和虚拟化之前 在没有云计算之前我们传统统数据中心面临的问题 1 1 传统 IDC 托管买台机器 放到 IDC 安装系统 部署应用 买个域名 绑定上去 对外访问 ICP 备案 ICP 证 电子商务 文网文 文化部备案 公安局备案 接入备案 机房接入备案 备案现在机房管 注销备案各种坑北京不支持个人备案转公司备案 域名转让 官方要

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号