专栏文章
ARC204A Use Udon Coupon
AT_arc204_a题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mio9t5ll
- 此快照首次捕获于
- 2025/12/02 15:42 3 个月前
- 此快照最后确认于
- 2025/12/02 15:42 3 个月前
注意到维护的 事实上是一个队列,那么这个条件可以先转化成,将 和 归并,要求操作序列的每一个前缀中 的数量都不少于 的数量。
这个跟括号序列一样的玩意儿典到家了。我们考虑一条折线状物,最初在点 ,若当前遇到 ,则向右走 ,向上走 ;若当前遇到 ,则向右走 ,向下走 ,同时,过程中如果达到 ,就保持在这条线上水平向右,而并非向下,这对应了与 取 。设 ,那么我们最后会到达 的位置。
至于为何会有这个 ,显然是中途产生了一些与 取 导致的。问题进一步地转化成了 和 的操作序列数量。
考虑 是啥。我们先不与 取 ,折线最后会跑到 的位置,中途会在 以下有一部分。考虑某个这样的点 ,我们从第一象限走到第二象限来到 ,再和 取一个 ,这时相当于将 右边的整个折线都向上平移了 。遍历每一个这样的最低点,直到整个折线都平移到了第一象限,总共平移的距离 显然是最低点的纵坐标绝对值,也即前缀 的 。
已经差不多了。问题最后转化成了,对于 ,求出 和 归并起来的序列个数,满足:
-
任意前缀中, 的个数不少于 的个数。
-
任意前缀中,。
直接对着这个东西计数即可,设 表示考虑到 ,在其之前有 个 的方案数。第一个条件限制了 ,第二个条件限制了 ,其中 是最小的满足 。枚举 与 之间 的个数,从 转移到 ,直接做是 的,容易使用前缀和或双指针做到 。
代码。
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...