#169. 【UR #11】元旦老人与数列

 统计

零点的钟声马上就要敲响,2016 年即将要拉开序幕,元旦老人轻手轻脚地来到了 xyz111 的床头,准备把他的礼物装进袜子里。

然而,xyz111 居然根本没有去睡觉!毫无防备的元旦老人落入了他的陷阱之中。

原来,xyz111 仰慕正义的元旦老人已经很久了,于是他决定把元旦老人抓来探♂讨哲♂学(病娇脸)。

在经过交涉之后,xyz111 答应,如果元旦老人能回答出他的一些问题,那么就放他走:

最开始 xyz111 有两个长度为  n n 的完全相同的数列  A A 和  B B,接下来有  m m 次操作,每一次操作都是以下的四种之一:

  1. 对于所有的  i[l,r] i∈[l,r],将  Ai Ai 变成  Ai+c Ai+c
  2. 对于所有的  i[l,r] i∈[l,r],将  Ai Ai 变成  max(Ai,d) max(Ai,d)
  3. 对于所有的  i[l,r] i∈[l,r],询问  Ai Ai 的最小值。
  4. 对于所有的  i[l,r] i∈[l,r],询问  Bi Bi 的最小值。

在每一次操作结束之后,xyz111 都会进行一次更新:对于所有的  i[1,n] i∈[1,n],将  Bi Bi 变成  min(Bi,Ai) min(Bi,Ai)

然而留给元旦老人的时间已经所剩无几了,情急之下,他决定向你寻求帮助:你能帮他回答 xyz111 的问题吗。

输入格式

第一行两个数: n,m n,m

接下来一行  n n 个数  Ai Ai。(最开始  Bi Bi= Ai Ai

接下来  m m 行中,第  i i 行第一个数  ti ti 表示操作类型:

若  ti=1 ti=1,则接下来三个整数  li,ri,ci li,ri,ci,表示操作一。

若  ti=2 ti=2,则接下来三个整数  li,ri,di li,ri,di,表示操作二。

若  ti=3 ti=3,则接下来三个整数  li,ri li,ri,表示操作三。

若  ti=4 ti=4,则接下来一个整数  li,ri li,ri,表示操作四。

输出格式

对于每个询问操作,输出一行表示答案。

样例一

input
3 6
1 2 3
4 3 3
1 2 3 -2
3 1 3
4 3 3
2 2 3 4
3 1 3

output
3
0
1
1

样例二

见样例数据下载。

样例三

见样例数据下载。

限制与约定

测试点编号 n n 的规模 m m 的规模 其他约定
1 n3000 n≤3000 m3000 m≤3000  
2 n100000 n≤100000 m100000 m≤100000 不存在操作二
3 n500000 n≤500000 m500000 m≤500000
4 n100000 n≤100000 m100000 m≤100000 数据随机生成
5
6  
7
8
9 n500000 n≤500000 m500000 m≤500000
10

对于所有数据,保证有  1lirin,2000ci2000 1≤li≤ri≤n,−2000≤ci≤2000 和  109Ai,di109 −109≤Ai,di≤109

时间限制: 2s 2s

空间限制: 96MB 96MB

下载

样例数据下载

新年快乐!

2016,好好做人。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值