Advertisement

洛谷P1438无聊数列(线段树、差分)

阅读量:

无聊的数列

题目背景概述

缺乏趣味性的YYB总是热衷于构思一些常人难以想象的奇特问题。某日,这位无趣的YYB设计了一道令人啼笑皆非的题目:无聊的数列……(K峰评论:这道题难道不是毫无意义的无聊题吗?)

题目描述

构建一个数列 a_i,并实现以下两类操作:

1 l r K D:生成一个长度为 r-l+1 的等差数列,其首项为 K,公差为 D,并将该数列依次叠加至区间 [l,r] 内的每个元素上。具体而言,对区间内的每个位置 i,执行如下操作:a_l = a_l + Ka_{l+1} = a_{l+1} + K + D、……、a_r = a_r + K + (r-l) \times D

2 p:查询序列中第 p 个元素的当前数值 a_p

输入格式

第一行给出两个整数 n,m,分别代表数列的长度以及操作的总次数。

第二行包含 n 个整数,其中第 i 个数值对应于 a_i

随后的 m 行中,每一行首先输入一个整数 opt 用以标识操作类型。

opt=1 时,还需输入四个整数 l\ r\ K\ D

而当 opt=2 时,则只需输入一个整数 p

输出格式

针对每一个查询请求,答案应以单独一行的形式呈现,且每个答案

全部评论 (0)

还没有任何评论哟~