专栏文章
题解:P14598 [COCI 2025/2026 #2] 搭塔 / Tornjevi
P14598题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimzceb1
- 此快照首次捕获于
- 2025/12/01 18:01 3 个月前
- 此快照最后确认于
- 2025/12/01 18:01 3 个月前
先考虑单次询问整个序列。
将答案放在每座塔中编号最小的积木处,那么如果 记入答案,则需要找到一个 满足 ,且所有 互不相同。
显然 和 的 独立且对称,所以不妨认为 。则所求转化为从序列中最多选出多少互相不交个 子序列。这是一个经典问题,可以贪心地把 看作左括号, 看作右括号,匹配上的括号对数即为所求。类似地处理 子序列,可以做到 。
事实上,将问题转化为括号匹配还有更好的性质。如果将右括号 匹配的左括号作为 (失配则为 ),那么由括号匹配的性质,当查询 (即考虑对子串 进行括号匹配)时:如果 ,则 会失配;如果 ,则 也会匹配上 。
先分别考虑 和 进行括号匹配,那么查询 的答案即为有多少 满足 。这是一个二维数点问题,容易离线树状数组/在线主席树做到 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...