数列分块学习笔记(锣鼓梳理额粉筷入门模板)

news/2025/10/31 18:19:34/文章来源:https://www.cnblogs.com/Noivelist/p/19180932

数列分块入门1

我们预处理出每个点所在的区块,预处理每个区块的左端点和右端点。

对于添加操作,我们先判断是否在同一区间,如果是的话就在区间里面暴力重构。
如果不是,那么就对于一整块要处理的区间的左边神域和右边神域进行暴力。
然后对于中间的整块部分我们直接 \(lazy\_tag\)

如果是查询的话,我们直接返回它的数列值加上它的 \(tag\) 值就好了。

整体的时间复杂度是 \(\mathcal O(n \log n)\) .

下面给出代码(进行了压行处理,需要的可以自己展开):

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e6+10;
int n,a[N],pos[N],L[N],R[N],len,tag[N];
void init(){len=(int)sqrt(n);for(int i=1;i<=n;i++)pos[i]=(i-1)/len+1;for(int i=1;(i-1)*len+1<=n;i++)L[i]=(i-1)*len+1, R[i]=i*len;
}
void update (int l,int r,int c){if(pos[l]==pos[r]){for(int i=l;i<=r;i++)a[i]+=c;return;}for(int i=l;i<=R[pos[l]];i++)a[i]+=c;for(int i=L[pos[r]];i<=r;i++)a[i]+=c;for(int i=pos[l]+1;i<pos[r];i++)tag[i]+=c;
}
int query(int x){return a[x]+tag[pos[x]];}
main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;init();for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){int l,r,opt,x;cin>>opt>>l>>r>>x;if(opt==0)update(l,r,x);else cout<<query(r)<<endl;}
}

数列分块入门2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025凝汽器/换热器/空预器/板式换热器/管式换热器/空冷岛/电磁脉冲/胶球/热网加热器/低低温省煤器/清洗设备/服务推荐榜:郑州赛为机电五星领跑!在线清洗 + 定制化,3 企凭特色突围​

随着 2025 年核电、火电、化工等高能耗领域对 “清洗设备不停机运行、节能降耗、场景定制化” 需求深化,清洗设备已从 “传统离线清洗” 转向 “在线智能清洗、全工况适配”。综合技术创新性、工况适配度、服务覆盖及…

claude-ide搭建

claude-ide搭建 说明 官方:https://www.claudeide.net/zh 按照之前的搭建好Windows的node.js环境。 步骤 安装 # 安装 Node.js 18+, 然后运行: npm install -g @anthropic-ai/claude-code配置 # cmd控制台设置 set AN…

MySQL性能分析(四)之processlist详解

一、概述 进程列表表(information_schema.processlist表或SHOW PROCESSLIST命令)是MySQL的核心表之一,用于查看MySQL当前所有的连接进程,帮助管理员监控数据库活动并排查性能问题。 进程列表表是进程信息的来源之一I…

2025年5310/6479/高压合金管厂家推荐榜:天津大无缝联合钢铁五星领跑!多材质适配 + 工业攻坚,3 企凭高端 / 特种 / 大口径显优势​

随着 2025 年化工反应釜、电站锅炉、高端机械等领域对 “合金管耐高温、抗高压、耐腐蚀” 需求升级,产品逐渐从 “通用型” 转向 “场景化材质定制、极端工况适配”。综合材质多样性、性能稳定性、工业适配度及用户口…

类命名空间中“同名成员的覆盖规则”和“属性查找时的递归陷阱”

class Student:score = 100 # 类属性(与方法同名)def score(self): # 方法(与类属性同名)return self.score # 这里的score 指的是score方法吗?是不是因为score方法把类属性score覆盖了?# 访问类属性: prin…

2025年旋转接头标杆厂家最新推荐:多通路旋转接头/水用旋转接头/回转旋转接头/H型旋转接头/液压旋转接头/旭康机械,定义工程机械与工业传热领域可靠性新标准

随着工业自动化程度不断深化及设备精密性要求持续提高,作为关键基础零部件的旋转接头,其性能稳定性、密封可靠性及使用寿命已成为影响整个设备系统运行效率的核心因素。2025年,旋转接头市场在工程机械、橡塑、化工、…

mysql主从配置(保姆级) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

打开浏览器

1、打开浏览器,然后在cmd中输入adb shell dumpsys activity | findstr "mResumedActivity" 命令 根据输出内容得到浏览器包名为 com.huawei.browser 2、代码上连接上手机并打开浏览器 from airtest.core.ap…

印度实时股票数据源接口对接文档-IPO新股、k线数据

概述 StockTV 提供全面的印度股票市场数据接口,覆盖印度国家证券交易所(NSE)和孟买证券交易所(BSE)所有上市公司。支持实时行情、技术分析、公司信息、IPO数据等多种功能。 基础信息基础URL: https://api.stocktv…

尝试从源头理解 SVD 原理和计算

SVD 是怎么被“想出来”的?——从一个朴素问题出发 你有没有见过这样的公式? \[M = U \Sigma V^T \]看起来挺简洁,对吧?但当你翻开教材,发现这背后藏着一堆正交矩阵、奇异值、特征向量……瞬间头大。 我每次看到 …

2025年家用电梯厂家推荐榜:美利达电梯实力登顶

随着人口老龄化加剧、别墅及老旧小区加装电梯需求增长,家用电梯市场正迎来快速发展期。2025年家用电梯市场规模预计持续扩大,但市场增长也带来厂商技术实力、产品安全性、服务质量参差不齐的问题,家庭用户在选购时往…

流程定时任务设置参数

总结几点内容:windows命令行或者放在task schedule里执行的bat(批处理文件),应该以ANSI编码的方式进行保存。 如果bat文件里不含任务中文,则可以以UTF-8的编码格式保存,但不能带BOM。windows的命令行执行批处理文件…

activemqCVE-2016-3088漏洞复现

activemq/CVE-2016-3088漏洞复现 原理 影响版本:Apache ActiveMQ 5.x~5.14.0 漏洞原理:ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;a…

FortiGuard实验室互联网服务安全技术解析

本文详细介绍了FortiGuard实验室的互联网安全服务体系,涵盖威胁检测、防护响应、安全运维等核心技术模块,包含恶意软件防护、入侵防御、云安全等具体技术方案,以及产品集成与版本更新机制。研究服务 研究研究新兴网…

神舟二十一号|2030年前实现中国人登陆月球的目标不动摇

10月30日,神舟二十一号载人飞行任务新闻发布会在酒泉卫星发射中心举行。 中国载人航天工程新闻发言人、中国载人航天工程办公室综合计划局局长张静波表示,2030年前实现中国人登陆月球的目标不动摇。目前,载人登月任…

博客园打印 - miao

F12 + (function(){use strict;$("#comment_form, #header, #leftmenu, #big_banner, #footer, #blog_post_info_block").remove();$("#content").css(margin,0);$("body").css(margin,…

简单线段树

#include <bits/stdc++.h> using namespace std; using ull = unsigned long long; using ll = long long; const int N = 50010; int T; struct node {int l, r;ll sum, add; } tr[N * 4]; ll a[N]; inline in…

vn.py 的日志问题 回测策略的日志处理

vn.py 的日志问题 回测策略的日志处理在回测时,如果不用ui, 测试策略。 范例是直接使用: engine = BacktestingEngine()engine.set_parameters(**test_setting)engine.add_strategy(strategy, strategy_setting)eng…

Python文件操作(下)_ 会写文件,程序便有了记忆

Python文件操作(下)_ 会写文件,程序便有了记忆1

Python文件操作(上)_ 会读文件,程序便有了眼睛

Python文件操作(上)_ 会读文件,程序便有了眼睛#方法一:读取文件f = open("./_math.py", "r", encoding="utf-8")content = f.readlines()for line in content: print(line)f.clo…