P17628 信封的选择
题目背景
我把画有房子平面图的那张纸对折再对折,放在桌上。
「总之你选一边吧。」
「你说要选,是要选什么?」
其实我不用问也知道,却还是问了她。
「项链和信封,选你喜欢的那一边,我会遵照你的选择去做。如果你选了项链,我就不会再跟你见面,即使看到你也不会搭话。今天就是我们最后一次见面。」
「那我要是选信封呢?」
「你就要和我一起住。」
题目描述
仙台同学给了宫城 $10^9$ 张纸条,分别编号为 $1, 2, \cdots, 10^9$。纸条的初始长度为 $n$。
最初,所有的纸条都被平铺在数轴上,覆盖了区间 $[0, n]$。
宫城会对这些纸条进行 $m$ 次折叠操作。对于第 $i$ 次操作,她会给定三个参数 $t_i,p_i,l_i$。
设当前最小的被纸条 $t_i$ 覆盖的点为 $k$。
- 若 $p_i=1$,以点 $(k+l_i)$ 的位置为折点,将纸条 $t_i$ 在数轴上小于 $(k+l_i)$ 的部分折向右边。
- 若 $p_i=2$,以点 $(k+l_i)$ 的位置为折点,将纸条 $t_i$ 在数轴上大于 $(k+l_i)$ 的部分折向左边。
每次折叠操作后,宫城都想知道纸条 $t_i$ 的最大层数。形式化地,纸条层数是指在数轴上所有形如 $(x+0.5)$ 的点($x$ 为整数)中,被该纸条覆盖的最大厚度。
输入格式
第一行,两个数,$n$ 和 $m$,表示纸条长度和操作次数。
接下来的 $m$ 行,每行三个数,第 $i$ 行的为 $t_i,p_i$ 和 $l_i$,代表第 $i$ 次折叠操作。
输出格式
共 $m$ 行,每行一个数,其中第 $i$ 行的表示在第 $i$ 次操作后,数轴上的点最多被纸条 $t_i$ 覆盖了几层。
说明/提示
#### 数据范围:
**本题目采用子任务捆绑测试。**
对于所有数据:$1 \le n \le 5 \times 10^5$,$1 \le m \le 1.2 \times 10^5$。
- $\forall 1 \le i \le m$,有 $1 \le t_i \le 10^9$,$p_i \in \{1,2\}$,$l_i \ge 0$,且 $l_i$ 小于等于操作时纸条 $t_i$ 覆盖数轴的长度。
::cute-table{tuack}
| 子任务编号 | $n\le$ | $m\le$ | 特殊性质 | 分值 |
|:-:|:-:|:-:|:-:|:-:|
| $0$ | $5 \times 10^5$ | $1.2 \times 10^5$ | $t_i \le 400$ | $10$ |
| $1$ | $2 \times 10^5$ | $5 \times 10^4$ | 无 | $20$ |
| $2$ | $5 \times 10^5$ | $1.2 \times 10^5$ | ^ | ^ |
---
松开仙台同学的头发后,她便想转过头来,于是我按住她的头,让她面向前面,不能转过来。
「意思是你选择了信封?」
「你觉得选项链比较好的话,那我就选项链。」
我尽量用一如往常的语气说完后,她抓住我按在她头上的手。
「如果宫城要用四年当一个段落,得好好加油,别留级喽。」
「仙台同学真的老爱说些多余的话耶。」
总觉得这种时候应该还有其他更合适的发言才对。虽然我不知道那是什么,但是叫人家别留级这种话绝对不是现在该说的话。
「你这只手放开啦。我也会放手。」
她这么说着,用力握了一下我按在她头上的那只手,随即放开。无可奈何地照她说的放手后,她转过来面向我,接着理所当然地握住我的手。
「以后我可以叫你志绪理吗?」
「不可以。」
「宫城好小气。」
「仙台同学很啰唆耶。」
听到我的声音,仙台同学嘻嘻笑着。
她真的就会说些多余的话。
不过只有四年。
如果就这点时间,要我跟这样的她共度这段时光也行。
我回握住她就这样牵着我,没有放开的手。