题目名称 1272. [AHOI2009] 行星序列
输入输出 seqb.in/out
难度等级 ★★☆
时间限制 2000 ms (2 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2013-01-01加入
开放分组 全部用户
提交状态
分类标签
线段树 分块
分享题解
通过:166, 提交:444, 通过率:37.39%
Gravatar啊哈啊哈 100 1.487 s 4.89 MiB C++
GravatarAAAAAAAAAA 100 1.526 s 9.50 MiB C++
Gravatarliu_runda 100 1.540 s 4.87 MiB C++
GravatarMario_sz 100 1.607 s 9.85 MiB C++
Gravatar啊哈啊哈 100 1.611 s 5.27 MiB C++
GravatarHzoi_Mafia 100 1.612 s 7.16 MiB C++
GravatarMagic_Sheep 100 1.612 s 9.48 MiB C++
Gravatarliu_runda 100 1.661 s 4.87 MiB C++
Gravatar. 100 1.661 s 17.08 MiB C++
GravatarAnonymity 100 1.662 s 17.48 MiB C++
本题关联比赛
数据结构练习
关于 行星序列 的近10条评论(全部评论)
被快速红包变换虐了之后
我已经百毒不侵了
GravatarCSU_Turkey
2017-09-18 18:47 16楼
2000分留念
话说WA了一万遍是因为函数名打混了= =
GravatarHzoi_Mafia
2017-09-18 15:41 15楼
分块水之……
写了半天十分,结果发现多乘了一遍……我菜爆了……
话说回来数据蒻爆了,多算一遍都过了一个点……
GravatarHZOI_蒟蒻一只
2017-08-06 20:37 14楼
回复 @하루Kiev :
恩,你也做了QWQ
GravatarCooook
2017-08-06 20:23 13楼
线段树
Gravatar하루Kiev
2017-08-06 20:20 12楼
恶心这道题
Gravatar牧殇
2016-10-13 07:59 11楼
本题居然调了1个小时,看来蒟蒻的我与日俱蒻。。
Gravatar_Itachi
2016-10-08 08:31 10楼
强行不开long long->_->
Gravatarliu_runda
2016-10-05 08:17 9楼
重评一下快了3s,内存小了2M
老爷机心情不好
GravatarYGOI_真神名曰驴蛋蛋
2016-10-05 07:13 8楼
用了相同的变量名这种脑残错误T^T!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GravatarWuhaha
2016-09-26 21:32 7楼

1272. [AHOI2009] 行星序列

★★☆   输入文件:seqb.in   输出文件:seqb.out   简单对比
时间限制:2 s   内存限制:128 MiB

【题目描述】


“神州“载人飞船的发射成功让小可可非常激动,他立志长大后要成为一名宇航员假期一始,他就报名参加了“小小宇航员夏令营”,在这里小可可不仅学到了丰富的宇航知识,还参与解决了一些模拟飞行中发现的问题,今天指导老师交给他一个任务,在这次模拟飞行的路线上有N个行星,暂且称它们为一个行星序列,并将他们从1至n标号,在宇宙未知力量的作用下这N个行星的质量是不断变化的,所以他们对飞船产生的引力也会不断变化,小可可的任务就是在飞行途中计算这个行星序列中某段行星的质量和,以便能及时修正飞船的飞行线路,最终到达目的地,行星序列质量变化有两种形式:

1,行星序列中某一段行星的质量全部乘以一个值

2,行星序列中某一段行星的质量全部加上一个值

由于行星的质量和很大,所以求出某段行星的质量和后只要输出这个值模P的结果即可,小可可被这个任务难住了,聪明的你能够帮他完成这个任务吗?


【输入格式】


第一行两个整数$N$和$P(1\leq p\leq 10^9)$;

  第二行含有N个非负整数,从左到右依次为$a_1,a_2,\cdots ,a_n(0\leq a_i\leq 100000000,1\leq i\leq n)$,其中$a_i$表示第$i$个行星的质量:

  第三行有一个整数$m$,表示模拟行星质量变化以及求质量和等操作的总次数。从第四行开始每行描述一个操作,输入的操作有以下三种形式:

   操作1:1 t g c 表示把所有满足$t\leq i\leq g$的行星质量$a_i$改为$a_i\times c$

   操作2:2 t g c 表示把所有满足$t\leq i\leq g$的行星质量$a_i$改为$a_i+c$

   操作3:3 t g 表示输出所有满足$t\leq i\leq g$的$a_i$的和模$p$的值

   其中:$1\leq t\leq g\leq N,0\leq c\leq 10^7$

   注:同一行相邻的两数之间用一个空格隔开,每行开头和末尾没有多余空格


【输出格式】

对每个操作3,按照它在输入中出现的顺序,依次一行输出一个整数表示所求行星质量和

【样例输入】

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

【样例输出】

2
35
8

【提示】


100%的数据中,$M,N\leq 100000$

40%的数据中,$M,N\leq 10000$


【来源】

AHOI2009