#P7492. [传智杯 #3 决赛] 序列

    ID: 6573 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>线段树分块位运算传智杯

[传智杯 #3 决赛] 序列

题目背景

disangan233 正在数数,他希望你帮他记录数数的序列,并完成一些操作。

题目描述

你有一个长为 nn 的序列 aa,现在要对其进行 mm 次操作。操作分为两种:

  1. 给定两个整数 l,rl,r,表示询问 llrr 的最大连续子段和。
  2. 给定三个整数 l,r,kl,r,k,表示将 llrraia_i 都按位或上一个 kk

对于所有数据,n,m105n,m\leq 10^5230ai,k<230-2^{30}\leq a_i,k<2^{30}1lrn1\leq l\leq r\leq n

注意:负数按照 32 位补码取按位或。

输入格式

输入共 m+2m+2 行。

11 行输入 22 个正整数 n,mn,m

22 行输入 nn 个整数 a1ana_1\ldots a_n

接下来 mm 行,每行先输入 11 个正整数 opopop=1op=1 输入 22 个整数 l,rl,r 表示一次询问,否则输入 33 个整数 l,r,kl,r,k 表示一次修改。

输出格式

输出共若干行,每行共 11 个整数,表示询问的答案。

15 15
512 -65 33554432 32 8194 13 16 2 67108872 131072 -8192 8194 16 2048 4096 
1 3 5
1 10 10
2 1 7 671367424
1 8 14
1 5 11
2 13 13 335579137
2 2 13 5376
1 2 5
2 5 6 8392768
1 1 2
2 2 14 201335872
2 1 14 0
1 11 12
1 8 12
1 4 9
33562658
131072
67242012
2081350441
2047680290
671367936
201340226
805489228
3373416393