随笔分类 -  位运算

摘要:https://hihocoder.com/problemset/problem/1513 五维偏序问题,直接bitset压位,复杂度O(n^2/32) (本来想写三维偏序,但是cdq不会只好写写五维bitset暴力这样子,三维那题bitset空间也开不下= =) // pragma comment 阅读全文
posted @ 2018-07-03 21:51 walfy 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题意:求子区间异或和,要求区间长度在l到r之间,并且为偶数 题解:对于每一位算贡献,可以分奇偶来记录,计算的时候只加上奇偶性相同的就保证了为偶数,从大于l的点开始每次++,从大于r的点每次--,记录二进制上所有权值和 #include<bits/stdc++.h> #define fi first 阅读全文
posted @ 2017-11-25 22:00 walfy 阅读(317) 评论(0) 推荐(0) 编辑
摘要:题意:就是求所有子区间的异或和的和 题解:就是算每一位对结果的贡献(最近好像遇到很多次这种题目),先前缀异或,从左向右扫记录二进制前缀的1,0个数,xor[i]==xor[j]^1的时候就加上这一位的权值 #include<bits/stdc++.h> #define fi first #defin 阅读全文
posted @ 2017-11-25 20:54 walfy 阅读(388) 评论(1) 推荐(0) 编辑
摘要:二进制处理 题意:给一堆数和价值,求其中数异或起来不大于k,而且价值最大 对于一个数t,如果一个数s不大于它,那么s的二进制中对应t,如果t是1,那么s可能是0,1,如果t是0,那么s必是0 枚举k的每一位1,改成0,把后面全改成1,再枚举所有情况,看能不能满足,最后求最大的价值 #include< 阅读全文
posted @ 2017-10-02 09:26 walfy 阅读(210) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示