2023.9.9

发布时间 2023-09-09 14:26:04作者: SError
  • 赛时因为开了火车头喜提 \(0\) 分。

A

维护一个可重集,支持:

  • 插入一个二元组。

  • 删除一个二元组,保证之前存在。

  • 给出二元组 \((x,y)\),问有多少个可重集内的二元组 \((a,b)\) 满足 \(x\oplus a>y\oplus b\).

\(m\le 2\times 10^5\)\(0\le x,y\le 10^{18}\).


B

\(n\) 个物品,第 \(i\) 个物品在 \(t\) 时刻的价值为 \(k_it+b_i\).

求一个最小的时刻 \(t\),满足选择至多 \(m\) 个物品的最大价值 \(\ge S\).

\(m\le n\le 10^6\)\(|b_i|\le 10^9\)\(|k_i|\le 10^6\)\(0\le S\le 10^{18}\).


C

给出一个 \(01\) 串,有通配符,问使得串中相邻不同字符对数恰好为 \(k\) 的字典序最小的字符串。

多测。

\(0\le k<n\le 10^5\)\(\sum n\le 10^6\).


D

对于树上的每个点,将其视为根,在树上选出 \(k\) 条从根开始的路径,最小化每个点到路径的最小距离乘上 \(w_i\) 之和。

\(n\le 2\times 10^5\)\(1\le k\le n\)\(1\le w_i\le 10^6\).