模拟赛

发布时间 2024-01-11 10:11:29作者: C01et10n

【10.11 D组 T4】cat


给定长为 \(n\) 的序列 \(a_i,c_i\) 和长为 \(m\) 的序列 \(b_j,d_j\)

对于每个 \(i\in[1,n]\),求

\[\mathop{\operatorname{max}}\limits_{j=1}^{m} [b_j\ge c_i \wedge a_i\ge d_j] \times b_j \]

若没有符合 \(b_j\ge c_i \operatorname{and} a_i\ge d_j\)\(j\in[1,m]\),输出 \(-1\)


将每一个询问看作:

  • 给定 \(a\)\(c\),求

\[\mathop{\operatorname{max}}\limits_{j=1}^{m} [d_j\le a] \times b_j \]

  • 若答案小于 \(c\),输出 \(-1\)

为了满足 \(a\ge d_j\),可以考虑对 \(d_i\) 维护权值树状数组,再将问题转化为前缀 \(\operatorname{max}\)

由于值域很大,离散化即可,注意离散化后值域是 \(4N\)

Submission