专栏文章

P14598 [COCI 2025/2026 #2] 搭塔 / Tornjevi 题解

P14598题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min16wxl
此快照首次捕获于
2025/12/01 18:53
3 个月前
此快照最后确认于
2025/12/01 18:53
3 个月前
查看原文

前言

简单的做法,不需要动脑子。

思路

O(nq)\mathcal{O}(nq) 的暴力算法是从左往右顺序枚举,如果有塔顶与当前积木异色的塔就放上去,否则单开一座。设当前有 aa 座塔顶颜色为红色,bb 座为蓝色,当前遇到的是红色的积木,那么这个过程等价于 aa+1,bmax(b1,0)a\leftarrow a+1,b\leftarrow \max(b-1,0)。这可以表示成一个 (max,+)(\max,+) 矩乘的形式(相当于给 [ab0]\begin{bmatrix} a\\ b\\ 0 \end{bmatrix} 左乘一个东西),线段树或猫树维护静态区间矩乘即可优化至 O(ωnlogn)\mathcal{O}(\omega\cdot n\log n)

评论

0 条评论,欢迎与作者交流。

正在加载评论...