摘要:
题意:给定长度 $n \leq 5 \times 10^5$ 的 popcount 序列 $\{a_i\}$,求其对应的原序列。思路:观察发现 popcount 序列具有倍增构造性质,将原序列 $[0,2^k - 1]$ 的第 $k$ 位改成 $1$ 可得到 $[2^k,2^{k + 1} - 1]$,表现为相同颜色框右边比左边加 $1$ 。由于难以从大框框确定分组,故从小框框开始。通过比较相邻元素,若左边加 $1$ 等于右边则分为一组,每个框框仅记首位数字用于比较。不断分组,直至整个序列分组完成。时间复杂度 $O(n)$,计算为 $n + \frac{n}{2} + \frac{n}{4} + \cdots + 2 + 2 + 2 + \cdots + 2 = O(n)$,过程中记得判断无解情况。 阅读全文
posted @ 2025-09-23 15:43
wing_heart
阅读(39)
评论(1)
推荐(1)

浙公网安备 33010602011771号