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

243. 一个简单的整数问题2(树状数组)

输入样例:

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

 解析:

        一般树状数组都是单点修改、区间查询或者单点查询、区间修改。这道题都是区间操作。

        

 

        1. 区间修改用数组数组维护差分数组

        2. 区间查询,需要log计算两个端点的前缀和。上图右侧,可以得出,计算前缀和需要维护差分序列和  i*b[ i ] 的差分序列。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
ll n,m,a[N],b[N],tr1[N],tr2[N];
int lowbit(int x){return x&-x;
}
void add1(int x,ll k){for(int i=x;i<=n;i+=lowbit(i)) tr1[i]+=k;
}
void add2(int x,ll k){for(int i=x;i<=n;i+=lowbit(i)) tr2[i]+=k;
}
ll sum(int x){ll ans=0;for(int i=x;i;i-=lowbit(i)) ans+=tr1[i];ans*=x+1;for(int i=x;i;i-=lowbit(i)) ans-=tr2[i];return ans;
}
int main(){scanf("%lld%lld",&n,&m);for(int i=1;i<=n;i++){scanf("%lld",&a[i]);b[i]=a[i]-a[i-1];add1(i,b[i]);add2(i,i*b[i]);}while(m--){char op;cin>>op;if(op=='C'){int l,r,d;scanf("%lld%lld%lld",&l,&r,&d);add1(l,d);add1(r+1,-d);add2(l,d*l);add2(r+1,-d*(r+1));}else{int x,y;scanf("%lld%lld",&x,&y);printf("%lld\n",sum(y)-sum(x-1));}}return 0;
}

相关文章:

243. 一个简单的整数问题2(树状数组)

输入样例&#xff1a; 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输出样例&#xff1a; 4 55 9 15 解析&#xff1a; 一般树状数组都是单点修改、区间查询或者单点查询、区间修改。这道题都是区间操作。 1. 区间修改用数组数组维护差分数组 2. 区间查询&am…...

C#利用自定义特性以及反射,来提大型项目的开发的效率

在大型项目的开发过程中&#xff0c;需要多人协同工作&#xff0c;来加速项目完成进度。 比如一个软件有100个form&#xff0c;分给100个人来写&#xff0c;每个人完成自己的Form.cs的编写之后&#xff0c;要在Mainform调用自己写的Form。 如果按照正常的Form form1 new For…...

【传统视觉】C#创建、封装、调用类库

任务 因为实现代码相对简单&#xff0c;然后又没有使用Opencv&#xff0c;所以就直接用C#实现&#xff0c;C#调用。 1.创建类库 1.1新建一个类库 vs2015 > 文件 > 新建 > 项目 using System; using System.Collections.Generic; using System.Linq;namespace Yo…...

AutoMapper反向映射

#region 用来验证反向映射public class MemberSource{public string Name { get; set; }public MemberInnerSource MemberInnerSource { get; set; }public MemberOtherInnerSource MemberOtherInnerSource { get; set; }}public class MemberInnerSource{public string Name {…...

华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新

华为 Mate 30 系列于 2019 年 11 月 1 日上市&#xff0c;包括 Mate 30 4G / 5G、Mate 30 Pro 4G / 5G、保时捷设计版 Mate30 共五款机型。华为 Mate 30 系列 5G 版搭载麒麟 990 5G 处理器&#xff0c;同时支持 SA 及 NSA 5G 双模&#xff0c;适配三大运营商的 5G / 4G / 3G / …...

elementui Cascader 级联选择使用心得

相信大家对于elementui并不陌生&#xff0c;作为适配Vue的优秀UI框架之一&#xff0c;一直被所有的开发者痛并快乐着。今天要记录的就是里边的主角之一Cascader。 首先先介绍一下Cascader ---> 当一个数据集合有清晰的层级结构时&#xff0c;可通过级联选择器逐级查看并选择…...

【ChatGPT 指令大全】怎么利用ChatGPT写报告

目录 选定切入角度 报告开头 大纲生成 草稿撰写 研究报告 提出反对观点 报告总结 研究来源 总结 随着人工智能技术的快速发展&#xff0c;自然语言处理技术在各个领域的应用越来越广泛。其中&#xff0c;ChatGPT作为目前最先进的自然语言处理模型之一&#xff0c;其强…...

【枚举,构造】CF1582 C D

Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 思路很简单&#xff0c;只删除一种&#xff0c;直接枚举删除的是哪一种即可 但是回文子序列的判定我vp的时候写的很答辩&#xff0c;也不知道为什么当时要从中间往两边扫&#xff0c;纯纯自找麻烦 然后就越改越…...

POJ 3169 Layout BellmanFord Dijkstra

一、心路历程 这一个题目写了三天&#xff0c;可以说是非常挣扎了&#xff0c;明明是例题&#xff0c;但是就是倔强着不去看书上的题解&#xff0c;WA了7次&#xff0c;TLE了4次。 写了不知道多少条测试用例&#xff0c;一遍一遍的过&#xff0c;一点一点的调试。 最后终于找到…...

数据库管理员知识图谱

初入职场的程序猿&#xff0c;需要为自己做好职业规划&#xff0c;在职场的赛道上&#xff0c;需要保持学习&#xff0c;并不断点亮自己的技能树。  成为一名DBA需要掌握什么技能呢&#xff0c;先让Chat-GPT为我们回答一下&#xff1a; 数据库管理系统 (DBMS)知识&#xff…...

中兴服务器支持百度“文心一言”,助力AI产业发展

前段时间&#xff0c;中兴和百度正式对外宣布中兴服务器将会支持百度“文心一言”&#xff0c;为其提供更加强劲的算力支撑&#xff0c;从而加速“文心一言”的完事升级与更新迭代&#xff0c;助力AI产业化应用和生态的繁荣发展。   “文心一言”是百度基于文心大模型技术推出…...

STM 如何通过网络 time.windows.com获取时间

STM 如何通过网络 time.windows.com获取时间 在STM32中,你可以使用STM32Cube HAL库提供的网络套接字API来通过网络获取时间。以下是一个示例代码,演示如何通过time.windows.com获取时间: #include "stm32xxxx.h" #include "lwip/sockets.h" #include …...

数据结构——红黑树

文章目录 一.红黑树的定义二.红黑树的插入1.红黑树节点的定义2.红黑树的插入操作3.总结&#xff1a; 三.红黑树与AVL树的比较四.检验手写的红黑树五.源码 一.红黑树的定义 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff…...

【C++】数据结构与算法:常用排序算法

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍常用排序算法。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&#x1…...

【C++】Bullet3代码存档

之前试了一下Bullet3物理引擎&#xff0c;但在linux上编译失败&#xff0c;于是放弃了。令我不满的还有另外一个原因&#xff0c;下载的发行包竟然有500M。C的Bullet3代码根本用不了&#xff0c;大部分教程实际都是用的老版本。而且此项目还整了python版本&#xff0c;各种蹭人…...

弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕

2023年8月2日&#xff0c;道本科技与商业大学携手举办了一场主题为“弘扬‘两弹一星’精神&#xff0c;勇攀科学技术高峰”的党日活动。本次活动旨在了解党领导下的中国核工业发展历程&#xff0c;传承和弘扬“两弹一星”精神&#xff0c;同时展示道本科技创新产品&#xff0c;…...

Java中创建对象的几种方式

背景 面试的时候有些面试官喜欢问这些, 这里简单记录一下. 常见方式 方式1: new XXXX(); 使用new关键字&#xff1a;这是最常见的创建对象的方式&#xff0c;使用new关键字后面跟上类名和参数列表&#xff08;如果有&#xff09;&#xff0c;可以调用类的构造方法来创建对象…...

Python(三)

诚信像一面镜子&#xff0c;一旦打破&#xff0c;你的人格就会出现裂痕。 存在短路的情景 谢谢观看 Python(三)...

android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用

android 如何分析应用的内存&#xff08;十五&#xff09;——Visual Studio Code 调试Android 应用 在上一篇文章介绍了jdb调试java应用 接下来介绍用UI界面调试java应用&#xff0c;达到同jdb一样的效果。 同样的UI界面有很多选择&#xff0c;如Eclipse&#xff0c;Android …...

宁波银行最新内推码 MK4913

宁波银行最新内推码 MK4913 内推码&#xff1a; MK4913 内推二维码 &#xff1a; 网申路径&#xff1a; 网页端&#xff1a;登录宁波银行招聘官网&#xff1a; https://zhaopin.nbcb.com.cn 选择【校园招聘】-【招聘岗位】手机端&#xff1a;关注【宁波银行招聘】公众号&a…...

NotebookLM引用格式生成失效真相:Google官方未公开的citation token截断限制(含绕过验证方案)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM引用格式生成失效真相&#xff1a;Google官方未公开的citation token截断限制&#xff08;含绕过验证方案&#xff09; NotebookLM 在处理长篇 PDF 或网页源时&#xff0c;常出现引用标记&am…...

白盒测试覆盖题

先贴完整逻辑代码java运行if (温度 < 高温值 && 温度 > 低温值) {显示正常温度; // 分支1 } else {if (温度 > 高温值) {高温报警; // 分支2} else {低温报警; // 分支3}蜂鸣警报; // 分支4 }先定义 3 个条件A&#xff1a;温度&#xff1c;高温值B&am…...

KMS_VL_ALL_AIO:三步实现Windows和Office永久激活的完整指南

KMS_VL_ALL_AIO&#xff1a;三步实现Windows和Office永久激活的完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出的激活提醒而烦恼吗&#xff1f;Office文档突…...

PUBG罗技鼠标宏终极配置指南:5分钟快速上手完美压枪

PUBG罗技鼠标宏终极配置指南&#xff1a;5分钟快速上手完美压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中难以控制的…...

本地大模型赋能Thunderbird:离线AI邮件助手部署与实战指南

1. 项目概述&#xff1a;当本地大模型遇上邮件客户端 如果你和我一样&#xff0c;每天被海量的邮件淹没&#xff0c;同时又对AI助手处理邮件的隐私问题心存疑虑&#xff0c;那么“micz/ThunderAI”这个项目可能会让你眼前一亮。简单来说&#xff0c;它是一款为经典邮件客户端Th…...

Taotoken账单追溯功能如何帮助厘清项目间的AI资源消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken账单追溯功能如何帮助厘清项目间的AI资源消耗 当团队同时推进多个AI实验项目时&#xff0c;一个常见的困扰是&#xff1a;…...

设计师核心能力框架:从思维策略到工程落地的系统化成长路径

1. 项目概述&#xff1a;一个设计师的“内功”修炼场如果你是一名设计师&#xff0c;或者对设计工作感兴趣&#xff0c;那么你一定有过这样的时刻&#xff1a;面对一个设计任务&#xff0c;脑子里有无数想法&#xff0c;但打开软件却不知从何下手&#xff1b;或者看到别人的优秀…...

AI 驱动多渠道网络钓鱼攻击演化与闭环防御体系研究

摘要 2026 年全球网络空间中&#xff0c;AI 技术全面渗透使网络钓鱼攻击呈现工业化、多渠道、高仿真、强隐蔽的演化趋势&#xff0c;攻击载体从传统邮件快速扩散至即时通讯、协作平台、二维码与短链接等多元场景&#xff0c;传统基于特征库与规则匹配的防御机制失效风险显著上升…...

如何用QueryExcel轻松应对海量Excel文件搜索难题?免费工具让数据查找变得简单快速

如何用QueryExcel轻松应对海量Excel文件搜索难题&#xff1f;免费工具让数据查找变得简单快速 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 面对堆积如山的Excel文件&#xff0c;你是否曾为查找某个…...

OpenRAM SRAM编译器:如何用开源工具革新芯片内存设计流程

OpenRAM SRAM编译器&#xff1a;如何用开源工具革新芯片内存设计流程 【免费下载链接】OpenRAM An open-source static random access memory (SRAM) compiler. 项目地址: https://gitcode.com/gh_mirrors/op/OpenRAM 在当今高性能计算和AI芯片设计中&#xff0c;片上SR…...