题目背景
莲子最终有惊无险的救下了梅莉,虽然梅莉本人似乎对此不以为意,而且还对莲子的观点有很多看法……不过她们很快就和好如初,然后一起度过了一段甜蜜的时光。
但是你既不是莲子也不是梅莉,所以在故事的结尾,你需要做一道数据结构题。
题目描述
你需要维护一个大小为 n×m 的矩阵 A,初始时其所有元素均为 0。题目还给出了一个长度为 m 的序列 b。
共有 q 次操作,分为两种:
-
1 l r x v
,对于 l≤i≤r,将 Ax,i 修改为 v。
-
2 l r x y
,查询 i=lmaxrj=xmaxy(Ai,j×bj)。
输入格式
第一行三个整数 n,m,q。
第二行 m 个整数描述序列 b。
接下来 q 行,每行描述一次操作,要么格式为 1 l r x v
,要么格式为 2 l r x y
。
输出格式
对于每次 2
操作,输出一行一个整数表示查询的结果。
提示
数据范围
本题采用捆绑测试。
Subtask12345678分值55201010102020n,q≤10050002×1052×1052×1052×1052×1054×105特殊性质−−ABCD−−Subtask 依赖−−−−−−1,2,3,4,5,67特殊性质 A:保证所有修改在查询之前。
特殊性质 B:对于修改操作保证 l=r。
特殊性质 C:保证数据随机(随机方法见下)。
特殊性质 D:保证 b 序列满足所有 bi=1。
对于所有数据满足:1≤n,m,q≤4×105。1≤bi≤109。
在所有 q 次操作中,修改操作出现不超过 4q 次。
对于一操作,1≤l≤r≤m,1≤x≤n,1≤v≤109。
对于二操作,1≤l≤r≤n,1≤x≤y≤m。
数据随机的方式:n,m,q 事先选定,不是随机的。然后均匀随机取 ⌊4q⌋ 次操作为修改操作,剩下的为查询操作。对于操作的所有参数以及 b 序列在其限制范围内等概率随机。