Link
Solution
如果没有中端点的限制,那就是直接把和的取最值再和。取。这样的话,需要在上,查询在区间中的前驱和后继。可以树套树或者可持久化 加了的限制,那就是一部分会被截掉一段,可能本来是最长的,截掉之后就不是答案了。 然后通过某些神奇思考得到了二分的办法:对于答案,只会出现在。这样的话加一个二分答案,就巧妙地避免了限制的干扰,可以直接求的前驱后继再$height[]$了。 另外,主席树的前驱后继似乎不好像平衡树那样直接走一遍,因为在上面不知道下面的某些点是否存在。
Tips
写出了形式化的条件,但没有想到二分答案的处理策略 应该是想一下去掉限制的想出主席树,再加上限制更容易得到二分答案.
Code
1 |
|