维护序列

本文介绍了如何使用线段树解决一个维护数列的任务,包括数列的更新和查询操作。给出了具体的数据范围和操作类型,并提供了样例输入输出及解题思路,指出这是一道线段树的模板题。
摘要由CSDN通过智能技术生成

维 护 序 列 维护序列

题目链接:luogu 2023

题目

老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式:

  1. 把数列中的一段数全部乘一个值;
  2. 把数列中的一段数全部加一个值;
  3. 询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。

输入

第一行两个整数 N N N P P P
第二行含有 N N N个非负整数,从左到右依次为 a 1 , a 2 … … a N a1,a2……aN a1,a2aN
第三行有一个整数 M M M,表示操作总数。
从第四行开始每行描述一个操作,输入的操作有以下三种形式:
操作 1 1 1 “ 1 “1 1 t t t g g g c ” c” c(不含双引号)。表示把所有满足 t ≤ i ≤ g t≤i≤g tig a i ai ai改为 a i × c ai×c ai×c
操作 2 2 2 “ 2 “2 2 t t t g g g c ” c” c(不含双引号)。表示把所有满足 t ≤ i ≤ g t≤i≤g tig a i ai ai改为 a i + c ai+c ai+c
操作 3 3 3 “ 3 “3 3 t t t g ” g” g(不含双引号)。询问所有满足 t ≤

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值