按位分块题目总结

2022-7-1考试第一题

题目叙述

给定 \(n\) 个数,求第 \(i\) 位为 1 的数的数量。

题解

考虑分块。每16位一块,开一个桶,统计这 16 位的情况。然后再对这个桶,统计答案。

如何实现 \(O(1)\) 统计 \(<2^64\) 的数的 popcount ?

题解

考虑拆分为 4 部分,统计每块的 popcount 。

不知名题目

可能和上面不能算为一种套路。

题目叙述

一个数组,下标 \(0\sim 2^16-1\) 。每次询问为 \(s\) 的子集的所有下标对应的值是多少,或者修改。

题解

考虑维护 \(f_{i,j}\) 表示前 8 位为 \(i\) ,后 8 位为 \(j\) 的子集的所有下标对应的值最大是多少。
每次修改查询复杂度为 \(2^8\)

posted @ 2022-07-01 16:15  YouthRhythm  阅读(35)  评论(0)    收藏  举报