P10550 [THUPC 2024 决赛] 贸易

题目描述

小 Z 生活的学校就像是一条链,直径很长,宽度很窄。 具体来说,这里有一个长度为 $n$ 的序列,每个位置有一个属性 $a_i\in \{0/1\}$ 和一个类型 $c_i$,在这里有一些贸易事件会发生。 小 Z 从左往右通过这个序列,若当前遇到一个 $0$ 属性的节点,则小 Z 可以购入至多一个 $c_i$ 类型的物品,若当前遇到一个 $1$ 属性的节点,则小 Z 可以卖出至多一个 $c_i$ 类型的物品,显然,在小 Z 没有这种类型的物品时是不能卖出的。 一次合法的交易定义为从某个节点买入,并在某个节点卖出,注意,你需要保证在最后小 Z 手里不存在任何东西。 给出 $q$ 次询问,每次小 Z 从 $l_i$ 顺序走到 $r_i$,问:最大合法交易次数是多少。

输入格式

输出格式

说明/提示

对于所有数据,满足 $1\le n,q\le5\times 10^5,1\le c_i\le n,1\le l_i\le r_i\le n,a_i\in\{0,1\}$。 请注意输入输出效率。 **来源与致谢** 来自 THUPC2024(2024年清华大学学生程序设计竞赛暨高校邀请赛)决赛。感谢 THUSAA 的提供的题目。 数据、题面、标程、题解等请参阅 THUPC 官方仓库