/ Randle / 题库 /

图形堆积(原创)

图形堆积(原创)

暂无测试数据。

这个呢,实在有点复杂,也不难,就是不想写了,有心人帮忙搞下数据吧。
题目描述
LYC是一个很无聊的同志。
话说有一天,他开始玩一种简化版俄罗斯方块(不会消除)。他找来了一区间,其中有初始的一些方块堆积。LYC又找来了很多图形木块,有矩形,有等腰三角形,等腰梯形三种形状(注意如果有倾斜的直线,将其放在坐标轴上)。如下图所
示:(一为空 繁为实)
矩形
繁繁繁繁繁
繁繁繁繁繁
繁繁繁繁繁
等腰三角形(你可以认为是一个上底为一的等腰梯形)
一一繁一一
一繁繁繁一
繁繁繁繁繁
等腰梯形
一一一一一
一繁繁繁一
繁繁繁繁繁
或者,如果某图形很宽,请对所有点的纵坐标下取整,如下图的三角形
一一一一一繁一一一一一
一繁繁繁繁繁繁繁繁繁一
LYC同学会一块一块的把图形向下放,图形堆积好后,不会移动,然后问你一些问题。

输入格式
第一行一个整数n(n<=1e6)表示整个区间的宽度,从1到n;
第二行n个整数,表示每个位置上初始高度。
第三行为一个整数m(m<=1e5),表示操作数。
然后是m行,每行一个操作,输入一个数t,表示操作类型
操作说明:(注意:放置后不在区间内的部分不予考虑)
1:矩形
输入x,y表示宽度与高度,输入k,表示矩形左下角的放置横坐标。
2:三角形
输入x,y表示宽度与高度,输入k,表示三角形底边左下角放置横坐标。(保证x为奇数)
3:等腰梯形
输入x,z,y表示下底宽度与上底高度与高,输入k,表示等腰梯形左下角放置横坐标。(保证|x-z|为偶数,且z>1)
4:查询
输入l,r表示查询l到r区间堆积的最高高度
输出格式
仅对于4操作,输出一行为答案。

对于图形堆积的说明:
一:原图
一一一一一一一一一一一一一一一一一一一一
一一一一一一一一一一一一一一一一一一一一
一一一一一一一一一一一一一一一一一一一一
一一一一一一一一一一一一一一一一一一一一
一一一一一一一一一繁一一一一一一一一一一
一一繁一一一一繁一繁一一一一一繁一一一一
繁一繁一繁繁繁繁繁繁一繁繁繁一繁一繁一一
在上面放一个等腰三角形([8,12]区间)
一一一一一一一一一一一一一一一一一一一一
一一一一一一一一一繁一一一一一一一一一一
一一一一一一一一繁繁繁一一一一一一一一一
一一一一一一一繁繁繁繁繁一一一一一一一一
一一一一一一一一一繁一一一一一一一一一一
一一繁一一一一繁一繁一一一一一繁一一一一
繁一繁一繁繁繁繁繁繁一繁繁繁一繁一繁一一
等腰三角形会在所覆盖区间的最高的一点立足,不会下落,并且将成为新的最高点。
5
1 2 3 2 1
6
1 2 1 1
4 1 5
2 3 3 3
4 2 4
3 3 1 1
4 1 5
输出样例
3
6
6
样例说明
原图
一一一一一
一一一一一
一一一一一
一一繁一一
一繁繁繁一
繁繁繁繁繁

一一一一一
一一一一一
一一一一一
繁繁繁一一
一繁繁繁一
繁繁繁繁繁

一一一繁一
一一一繁一
一一繁繁繁
繁繁繁一一
一繁繁繁一
繁繁繁繁繁(遵从纵坐标下取整,故并非是几何意义的三角形)

一繁一繁一
繁繁繁繁一
一一繁繁繁
繁繁繁一一
一繁繁繁一
繁繁繁繁繁(遵从纵坐标下取整,故并非是几何意义的梯形)
规定
开long long
对于第2,5两个测试点没有2,3操作。
对于30%的数据 m<=100 n<=1000
对于60%的数据 m<=1000 n<=10000
对于100%的数据 m<=100000 n<=100000

信息

难度
10
分类
(无)
标签
(无)
递交数
4
已通过
0
通过率
0%
上传者