AT_abc252_h [ABC252Ex] K-th beautiful Necklace 题解

注意到N,C极小,所以 \(T = \prod{每种颜色的数量}\) 最大是\(10^{11}\)级别(把N拆分成3和2的乘积形式),于是可以直接暴力折半搜索,每边的乘积不超过$ \sqrt{T}$,可以直接搜索了。

然后考虑合并两边 \(a\) 和 \(b\) ,也就是所有 \(c=a_i \oplus b_j\) 中的第K大。先把所有 \(a_i\) 放到 \(Trie\) 树上,然后把所有 \(b_j\) 在树上整体移动,类似于树上二分,即可得出答案。时间复杂度 \(O(\sqrt{T} logn)\) 。

posted @ 2026-10-08 14:52  bjq521  阅读(2)  评论(0)    收藏  举报