洛谷P1438无聊数列(线段树、差分)
发布时间
阅读量:
阅读量
无聊的数列
题目背景概述
缺乏趣味性的YYB总是热衷于构思一些常人难以想象的奇特问题。某日,这位无趣的YYB设计了一道令人啼笑皆非的题目:无聊的数列……(K峰评论:这道题难道不是毫无意义的无聊题吗?)
题目描述
构建一个数列 a_i,并实现以下两类操作:
1 l r K D:生成一个长度为 r-l+1 的等差数列,其首项为 K,公差为 D,并将该数列依次叠加至区间 [l,r] 内的每个元素上。具体而言,对区间内的每个位置 i,执行如下操作:a_l = a_l + K、a_{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)
还没有任何评论哟~
