#P4560. [IOI2014] Wall 砖墙

[IOI2014] Wall 砖墙

题目背景

原题为交互试题,但在此请提交完整程序

题目描述

给定一个长度为 nn且初始值全为 00的序列。你需要支持以下两种操作:

  • Add L,R,hL, R, h:将序列 [L,R][L, R]内所有值小于 hh的元素都赋为 hh,此时不改变高度大于 hh的元素值
  • Remove L,R,hL, R, h:将序列 [L,R][L, R]内所有值大于 hh的元素都赋为 hh,此时不改变高度小于 hh的元素值

你需要输出进行 kk次上述操作之后的序列。

输入格式

输入的第一行包含两个正整数 n,kn, k,分别表示序列中元素的个数以及操作数量,注意:序列下标编号为 00 ~ n1n-1

接下来 kk行每行包含 44个整数 t,L,R,ht, L, R, h,若 t=1t = 1则表明为 Add 操作,若 t=2t = 2则表明为 Remove 操作。 L,R,hL, R, h的含义见题目描述。

输出格式

输出包含 nn行,每行包含 11个整数。第 ii行的整数表示 kk次操作之后序列中编号为 i1i - 1的元素的值。

10 3
1 3 4 91220
1 5 9 48623
2 3 5 39412

0
0
0
39412
39412
39412
48623
48623
48623
48623

10 6
1 1 8 4
2 4 9 1
2 3 6 5
1 0 5 3
1 2 2 5
2 6 7 0

3
4
5
4
3
3
0
0
1
0

提示

  • 子任务#1(8分):满足 1n10000,1k50001 \leq n \leq 10 000, 1 \leq k \leq 5 000
  • 子任务#2(24分):满足 1n100000,1k5000001 \leq n \leq 100 000, 1 \leq k \leq 500 000,全部增加操作均在全部移除操作之前;
  • 子任务#3(29分):满足 1n100000,1k5000001 \leq n \leq 100 000, 1 \leq k \leq 500 000
  • 子任务#4(39分):满足 1n2000000,1k5000001 \leq n \leq 2 000 000, 1 \leq k \leq 500 000

所有操作的高度 hh满足 0h1000000 \leq h \leq 100 000