- 赛时因为开了火车头喜提 \(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\).