P4310 绝世好题

Posted on 2022-10-17 21:26  Capterlliar  阅读(19)  评论(1编辑  收藏  举报

题意:给出n个数,求最长子序列(不是子数组)的长度,使得其与运算的结果不为0。

解:位运算的好处是和顺序无关。第一想法是找每一位为1的最多有几个数。但考虑3,7这种二进制下全是1的数,可以沟通好几位,让答案变成它们的和。那就dp吧。每过来一个数,按位拆分,把所有是1的位视作一个整体,它们的值更新为其中最大值加一。顺便求个ans就完了。