卡 CDQ 放莫队套值域分块,出题人你差不多得了,,,
A
双指针。
B
二分最大的 \(x\),使得和不超过 \(x\) 的子集小于 \(k\) 个,
check 时我们需要判断和不超过 mid 的子集是否小于 \(k\) 个,直接爆搜,搜出 \(k\) 个退出即可,
check 一次复杂度 \(O(k)\),总复杂度 \(O(k\log V)\)。
找出 \(x\) 后,爆搜出和不超过 \(x\) 的 \(c\) 个子集,从小到大输出后再输出 \(k-c\) 个 \(x+1\) 即可。
C
容易转化成求子矩阵内横坐标种类数,纵坐标种类数,莫队套值域分块即可。