一道趣题

之前在群上面看到一道题,题面是这样的,给你一个序列,求出有多少对点满足or起来为k。
一开始看到这道题我想到的是二进制分解k然后分类讨论分开算贡献,但是在一个地方卡住了没想出来。后来问了下学长,学长给出的答案是这样子的。我们计算非法的对数,把对答案没贡献的去掉,然后非法的一定是位置上同时出现零,然后容斥一下就好了。
数据和程序我之后再放上来,好像听说把容斥的式子写出来可以优化到nlogn。

posted @ 2017-08-26 21:50  Drinkwater_cnyali  阅读(89)  评论(0编辑  收藏  举报