摘要:
读完题,我们能很容易想到,可以将所有的操作看作是在一棵状态树上进行。操作一相当于直接把当前商店的指针指向已有的状态;操作二和操作三相当于在当前状态下衍生出一个新的子状态,并在树上连边。这样能够得到一棵状态树,每个商店在任何时刻都对应树上的一个节点。对这棵树进行深度优先遍历,得到每个节点的入栈和出栈时 阅读全文
posted @ 2026-11-11 15:10
xuyifei0302
阅读(4)
评论(0)
推荐(0)
摘要:
每次操作 \((x, y)\) 表示将序列前 \(x\) 个数加上 \(y\)。我们可以将问题转化,序列在最终时刻位置 \(p\) 的值为这 \(r - l + 1\) 次操作中,满足 \(x_i \ge p\) 的所有 \(y_i\) 的和。也就是说,我们需要对所有的 \(p\),求出 \(\su 阅读全文
posted @ 2026-11-11 15:10
xuyifei0302
阅读(3)
评论(0)
推荐(0)
摘要:
每次操作 \((x, y)\) 表示将序列前 \(x\) 个数加上 \(y\)。我们可以将问题转化,序列在最终时刻位置 \(p\) 的值为这 \(r - l + 1\) 次操作中,满足 \(x_i \ge p\) 的所有 \(y_i\) 的和。也就是说,我们需要对所有的 \(p\),求出 \(\su 阅读全文
posted @ 2026-11-11 15:10
xuyifei0302
阅读(1)
评论(0)
推荐(0)
摘要:
我们可以先把半开区间 \([l, r)\) 变成闭区间 \([l, r-1]\),坐标范围相应变成 \([1, n-1]\)。把操作离线下来,每个插入的区间就变成了一个带存在时间范围 \([s, e]\) 的静态区间。如果一直没被删,结束时间就是 \(m\)。 遇到询问 \((l, r, t)\) 阅读全文
posted @ 2026-11-11 15:10
xuyifei0302
阅读(4)
评论(0)
推荐(0)
摘要:
原图由一条长度为 \(n - 1\) 的链和若干条额外边构成。将点 \(i\) 与 \(i + 1\) 之间的原始边称为树边,编号为 \(i\)(\(1 \le i < n\)),新加入的边称为非树边。每条非树边 \((u, v)\)(设 \(u < v\))覆盖了树边区间 \([u, v - 1] 阅读全文
posted @ 2026-11-11 15:09
xuyifei0302
阅读(3)
评论(0)
推荐(0)
摘要:
闲话:本来想写树套树的来着,后来在优化的过程中整出来的。 我们考虑题目中海狸移动的本质。由于树上的单向道路均指向父亲节点,任意海狸的所有迁移操作都只能沿着通往根节点的路径向上进行。因此,一只出生在城市 \(A\) 的海狸,无论经历多少次迁移,其在任意时刻所处的位置必然是 \(A\) 的某个祖先。特别 阅读全文
posted @ 2026-11-11 15:09
xuyifei0302
阅读(3)
评论(0)
推荐(0)
摘要:
我们发现整个序列中极小 MEX 区间的总数仅为 \(\mathcal{O}(n)\) 个。我们枚举区间的左端点位置 \(l\),令 \(t = v_l\)。设 \(nxt_x\) 为从位置 \(l\) 开始,数字 \(x\) 的第一次出现位置;并设 \(T\) 为数字 \(t\) 在位置 \(l\) 阅读全文
posted @ 2026-11-11 15:09
xuyifei0302
阅读(3)
评论(0)
推荐(0)

浙公网安备 33010602011771号