我遇到以下问题
给定N x S网格和m个平行于水平轴的线段(它们都是元组(x', x'', y)),回答Q形式的在线查询(x', x'')。这种查询的答案是最小的y(如果有的话),这样我们就可以放置一个段 (x', x'', y)。所有段不重叠,但一个段的开始可以是另一个段的结束,即允许段 (x', x'', y) 和 (x'', x''', y)。能够放置片段意味着可能存在不违反规定规则的片段(x',x'',y),实际上并未放置片段(带有初始片段的板'
约束
1 ≤ Q, S, m ≤ 10^5
1 ≤ N ≤ 10^9
Time: 1s
Memory: 256 Mb
以下是来自以下链接的示例。输入段为 (2, 5, 1), (1, 2, 2), (4, 5, 2), (2, 3, 3), (3, 4, 3)。
回答查询
1) (1, 2) → 1
2) (2, 3) → 2
3) (3, 4) → 2
4) (4, 5) → 3
5) (1, 3) → 不能放置段
第三个查询的可视化答案(蓝色部分):
我不太明白如何解决这个问题。它应该用持久段树来解决,但我仍然无法想出一些东西。
请问你能帮帮我吗。
这不是我的作业。可以在这里找到源问题http://informatics.mccme.ru/mod/statements/view3.php?chapterid=111614。该语句没有英文版本,并且测试用例以不同的方式呈现输入数据,所以不要介意源代码。