题目描述
https://jzoj.net/junior/#main/show/1163
一天你对着眼前的景物拍了一张照,这个相机很特别,有建筑物的地方显示“X”,没有建筑物的地方显示为“.”,假设每个建筑都是块状的,照片长W(1<=W<=1,000,000),用N(1<=N<=50,000)对平面坐标(x,y)( 1 <= x <= W, 0 <= y <= 500,000)描述照片中建筑物高度发生变化的位置,你的任务是计算出最少需要多少个建筑才能形成该照片。
如下图:
在输入中被描述为: (1,1), (2,2), (5,1), (6,3), (8,1), (11,0), (15,2), (17,3), (20,2), (22,1).这幅图片最少需要6个建筑,下面是用6个建筑形成该照片的例子:
其实跟上次那题WING很像,本该是第一题难度,但是作者把它题目一改,变成第三题了。我在比赛是用的是暴搜,二维数组无法开到1000000×10000000 所以只得了40分,时间超限一个点,就是首先找出所有建筑的阴影,在一个一个找出来,标记上数字就行了。这是暴搜的方法,正解是从头到尾找一遍后面表示高度的那个数,只要不是0就继续找,出现过的就标记一遍,最后输出答案就行了!