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

洛谷 - P13982 数列分块入门 7(线段树解法 - 超详细版)

题目链接:

洛谷P13982 数列分块入门 7


哈喽,大家好,我们见面啦(看到这篇博客的同学能不能给个关注啊)。

今天我们来讲 洛谷P13982 数列分块入门 7

其实就是 线段树2 的双倍经验啦。

警示后人在本文最后面,没有通过的小伙伴可以看一下。

题目描述:

题目背景

洛谷的数列分块入门系列的测试数据范围和原题有不同。

题目描述

给出一个长为 n 的数列,以及 n 个操作,操作涉及区间乘法,区间加法,单点询问。

输入格式

第一行输入一个数字 n。

第二行输入 n 个数字,第 i 个数字为 a_i​,以空格隔开。

接下来输入 n 行询问,每行输入四个数字 opt、l、r、c,以空格隔开。

若 opt=0,表示将位于 [l,r] 的之间的数字都加 c。

若 opt=1,表示将位于 [l,r] 的之间的数字都乘 c。

若 opt=2,表示询问 ar​ 的值 mod 10007(l 和 c 忽略)。你需要输出非负的余数值

输出格式

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

输入输出样例

输入 #1

7
1 2 2 3 9 3 2
0 1 3 1
2 1 3 1
1 1 4 4
0 1 7 2
1 2 6 4
1 1 6 5
2 2 6 4

输出 #1

3
100

 思路出来了:

 首先我们看定义:

  1. 定义常量 const int N=3e6+10;;
  2. 定义 n,m,mod(模数),a 数组,lazy_add 数组(加懒标记),lazy_mul 数组(乘懒标记),tr 数组(线段树节点的数组)。

其次看主函数:

  1. 输入 n,m,mod;
  2. 初始化 lazy_mul 为 1;
  3. 输入 a 数组,代表原始数列;
  4. 使用函数 build(1,1,n);(建树);
  5. 循环 m 次(循环内
http://www.dtcms.com/a/511261.html

相关文章:

  • 页面PDF文件格式预览(不使用pdf.js)
  • Prompt Engineering 关键技能:精准掌控 LLM 输出的格式、内容与风格
  • 苹果(IOS)制作开发和发布证书
  • iOS 上架技术支持全流程解析,从签名配置到使用 开心上架 的实战经验分享
  • ISO 15765系列标准在车载诊断系统中的具体应用有哪些?
  • 人体含水量测量体验系统-VR节约用水互动游戏
  • 【ArcGIS软件教程】数据导出、CAD转换、属性表导出、裁剪、空间连接、修复几何
  • XYlease租赁商城小程序
  • 上海做网站建设平面设计线上培训班哪个好
  • 硬件语言:verilog(1)
  • 全排列——交换的思想
  • 【系统架构设计师(第2版)】六、数据库设计基础知识
  • LeetCode每日一题——缀点成线
  • COM组件访问权限错误的解决方案‌错误信息:检索 COM 类工厂中 CLSID 为{xxxx} 的组件失败,原因是出现以下错误:80070005 拒绝访问
  • 计算机组成原理 刘宏伟 第四章 存储器(下)
  • MS-YOLOv11:一种用于遥感图像中小目标检测的小波增强多尺度网络
  • 外贸企业网站设计公司龙中龙网站开发
  • 整站优化seo做电脑网站手机能显示不出来怎么办
  • Android设备GPU频点挡位路径
  • Vanna Text2SQL框架:用自然语言查询数据库的新方式
  • Android Studio新手开发第二十七天
  • ros中的Navigation导航系统
  • Python循环结构、控制语句及综合应用问答
  • Typescript - Tuple 元祖类型(语法 / 简单使用 / 不可变元组 / 合并多个元组)详细入门教程
  • 成就系统概述
  • 仓颉编程(10)类的定义
  • 常见的域名注册网站报纸做垂直门户网站
  • 东营网站建设推广市政工程中标查询网
  • Llinux自动安装chrome与chromedriver
  • 低侧单向电流检测电路