Tree Recovery

简介: Tree Recovery

Tree Recovery


题目:


You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for the sum of numbers in a given interval.


输入描述:


The first line contains two numbers N and Q. 1 ≤ N,Q ≤ 100000.

The second line contains N numbers, the initial values of A1, A2, ... , AN. -1000000000 ≤ Ai ≤ 1000000000.

Each of the next Q lines represents an operation.

"C a b c" means adding c to each of Aa, Aa+1, ... , Ab. -10000 ≤ c ≤ 10000.

"Q a b" means querying the sum of Aa, Aa+1, ... , Ab.


输出描述:


You need to answer all Q commands in order. One answer in a line.


示例1


输入


10 5

1 2 3 4 5 6 7 8 9 10

Q 4 4

Q 1 10

Q 2 4

C 3 6 3

Q 2 4


输出


4

55

9

15


思路:和上篇差不多,一个经典树状数组稍微变形


#include<bits/stdc++.h>
using namespace std;
long long n,q;
int a[101010];
long long lowbit(long long x)
{
    return x&-x;
}
void add(long long i,long long x)
{
    while(i<=n)
    {
        a[i]+=x;
        i+=lowbit(i);
    }
}
long long sum(long long i)
{
    long long ans=0;
    while(i>0)
    {
        ans+=a[i];
        i-=lowbit(i);
    }
    return ans;
}
int main()
{
    cin>>n>>q;
    long long x,a,b,c;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        add(i,x);
    }
    string s;
    while(q--)
    {
        cin>>s;
        if(s=="Q"){
            cin>>a>>b;
            cout<<sum(b)-sum(a-1)<<endl;
        }
        else{
            cin>>a>>b>>c;
            for(int i=a;i<=b;i++)
            add(i,c);
        }
    }
    return 0;
}

目录
相关文章
|
编译器 Linux PHP
C语言从入门到实战——预处理详解
C语言预处理是C语言编译过程的一个阶段,它在编译之前对源代码进行一系列的处理操作,包括宏替换、文件包含、条件编译等,最终生成经过预处理的代码,然后再进行编译。
316 0
|
安全 Java API
Eclipse 打开marketplace 报PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
网上有很多解决的帖子,我这里只是记录一下方便自己查阅 主要原因是java本身需要证书 1、按导入安全证书的方法解决
1620 0
Eclipse 打开marketplace 报PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
|
数据采集 Java BI
笛卡尔积计算在关系数据库中的高效应用
笛卡尔积计算在关系数据库中的高效应用
|
人工智能 Oracle 关系型数据库
全球CRM系统市场份额分析:领导者与挑战者
随着全球企业对CRM系统的依赖性增加,CRM市场正经历快速增长和激烈竞争。本文分析了全球CRM市场的份额,介绍了市场领导者如Salesforce、Oracle、SAP、纷享销客等,以及挑战者如HubSpot CRM、Zoho CRM等,并预测了未来市场趋势,包括云计算的普及、人工智能的融合和本土化需求的增加。
|
8月前
|
传感器 人工智能 安全
《把握人机共融设计要点,重塑人机协作格局》
机器人已融入生活与工作的方方面面,从医疗到物流,其身影无处不在。实现人机共融,关键在于深度融合人与机器的优势,确保安全、高效、自然的交互。通过碰撞检测、安全距离设定和紧急制动系统保障安全;借助语音、手势、眼神交互实现自然沟通;智能协作发挥人机各自特长;个性化定制满足不同需求;情感交互让机器人更具“温度”。这一跨学科领域涉及机械、电子、AI与心理学,是未来机器人发展的核心方向。
293 0
|
9月前
|
人工智能 自然语言处理 供应链
AI直播销售奇迹:00后DeepSeek的3.3亿真相探究
近日,“00后主播借DeepSeek技术直播卖出3.3亿”的新闻引发关注。此次成功不仅得益于主播个人魅力,更离不开“交个朋友”直播间团队对AI技术的深度融合。通过DeepSeek大模型,AI在内容生成、流程优化等方面大幅提升效率,实现了直播话术自动生成、多场景适配及全球化支持。团队还利用AI进行选品、合规审核和数据分析,优化直播策略。多位主播精细分工,结合强大的背景资源,确保高效带货。AI与真人主播互补,提升转化率。尽管存在版权、就业等争议,此次销售奇迹展示了AI技术商业化的潜力,并为行业提供了宝贵案例。
372 0
|
TensorFlow 算法框架/工具 Android开发
使用YOLOv5进行工业检测(如裂纹、划痕、破损等)
使用YOLOv5进行工业检测(如裂纹、划痕、破损等)
3892 1
|
机器学习/深度学习 人工智能 自然语言处理
280页PDF,全方位评估OpenAI o1,Leetcode刷题准确率竟这么高
【10月更文挑战第24天】近年来,OpenAI的o1模型在大型语言模型(LLMs)中脱颖而出,展现出卓越的推理能力和知识整合能力。基于Transformer架构,o1模型采用了链式思维和强化学习等先进技术,显著提升了其在编程竞赛、医学影像报告生成、数学问题解决、自然语言推理和芯片设计等领域的表现。本文将全面评估o1模型的性能及其对AI研究和应用的潜在影响。
351 1
|
人工智能 搜索推荐 安全
数百名研发人员用通义灵码,33%新增代码由AI生成,信也科技研发模式焕新升级
目前,信也科技数百名研发人员正在使用通义灵码,周活跃用户占比70%,新增代码中有33%由通义灵码编写,整体研发效率提升了11%,真正实现了数百研发人员开发效能的全面提升。

热门文章

最新文章