算法-位运算
Maxwei_wzj
AFO
展开
-
【NOI2014T1】起床困难综合症-贪心+位运算
【NOI2014T1】起床困难综合症-贪心+位运算原创 2017-03-27 16:51:16 · 621 阅读 · 0 评论 -
【BZOJ1294】围豆豆(SCOI2009)-状压+BFS
测试地址:围豆豆 做法:本题需要用到状压+BFS。 做不出神题的我,只能来做道水题泄愤了…… 这题显然可以状压,那么我们要求的就是可以将某个集合的豆子围起来的最短回路,于是我们枚举一个起点,令(x,y,s)(x,y,s)(x,y,s)为走到点(x,y)(x,y)(x,y)并且已经围住的豆子的集合为sss的最短路径,注意到状态转移的代价都是111,所以不需要用到最短路算法,直接BFS即可。 ...原创 2018-05-15 20:51:50 · 216 阅读 · 0 评论 -
【BZOJ2208】连通数(JSOI2010)-SCC+DP+bitset
测试地址:连通数 做法:本题需要用到SCC+DP+bitset。 看到和有向图的连通性有关就想到用SCC缩点,对于缩出来的DAG,一个直观的想法就是DP,大多数同学应该会马上想到这样的状态定义:令f(i)f(i)f(i)为能到达点iii的点的数目,然后blablabla…… 很遗憾,这个状态定义是错的,而且非常明显是错的,因为如果有两个不同的点能到达当前点,而又有一个相同的点能到达这两个点,...原创 2018-05-12 10:52:56 · 211 阅读 · 0 评论 -
【APIO2011T1】方格染色-并查集+位运算推导
【APIO2011T1】方格染色-并查集+位运算推导原创 2017-04-07 17:51:02 · 410 阅读 · 0 评论 -
【HDU3364】Lanterns-高斯消元求异或方程组的解数
【HDU3364】Lanterns-高斯消元求异或方程组的解数原创 2017-03-23 19:06:32 · 719 阅读 · 0 评论 -
【BZOJ4103】异或运算(THUSC2015)-可持久化trie树+位运算
【BZOJ4103】异或运算(THUSC2015)-可持久化trie树+位运算原创 2017-05-18 19:34:59 · 530 阅读 · 0 评论 -
【BZOJ2115】XOR(WC2011)-异或线性基+DFS树+贪心
测试地址:XOR 做法:本题需要用到异或线性基+DFS树+贪心。 这题有很多神奇的结论,本蒟蒻只会感性证明,严谨证明就请各位大佬自己脑补了…… 首先我们有一个结论: 结论1:任何一条从111到NNN路径的异或和,都可以表示成任何一条从111到NNN的路径和几个与该路径在同一连通块中的环的异或和。 感性证明一下,因为是异或和,所以一条边走两次就相当于抵消掉了,那么一条路径最后肯定会抵消成一...原创 2018-03-22 20:19:46 · 183 阅读 · 0 评论 -
【BZOJ4568】幸运数字(SCOI2016)-树上倍增+异或线性基合并
测试地址:幸运数字 做法:本题需要用到树上倍增+异或线性基合并。 我们发现,每次询问都是求从一条路径上选一个子集,使得这个子集的异或和最大。如果只有一个询问,那敢开这题的大家肯定都会O(60n)O(60n)O(60n)的线性基+贪心做法,问题是有qqq个询问,暴力做显然会炸,所以需要找到优化的方法。 我们发现只要求出了对应向量空间的线性基,那么求最大异或和就是O(60)O(60)O(60)的...原创 2018-03-22 22:18:30 · 369 阅读 · 0 评论 -
【BZOJ2460】元素(BJOI2011)-异或线性基+贪心
测试地址:元素 做法:本题需要用到异或线性基+贪心。 有关异或线性基的知识可以看这里。 根据题目的意思,我们需要找到一个矿石的子集,使得不存在任何一个子集使得子集内矿石的编号异或和为000,也就是说,要选出一个关于异或运算的线性无关组。而在求线性基的时候,我们实际上也求出了一组线性无关组。根据求线性基算法的相关性质,我们把数字放进去的先后顺序并不影响求出的线性基本身,而先放进去肯定最有可能成...原创 2018-03-21 20:15:53 · 291 阅读 · 0 评论 -
【BZOJ3105】新Nim游戏(CQOI2013)-博弈论+异或线性基+贪心
测试地址:新Nim游戏 做法:本题需要用到博弈论+异或线性基+贪心。 首先根据博弈论的基本知识,标准的Nim游戏中,只要所有火柴堆内的火柴数目的异或值为000,那么先手必败,否则先手必胜。而这个新的游戏在经过前两轮后就是一个由我们先手的标准Nim游戏,那么后手为了胜利,必然会留下若干堆火柴,使得它们的异或值为000,而我们为了胜利,就不能提供后手这个机会,那么我们就要使得我们选完后,留下的火柴...原创 2018-03-21 20:41:19 · 295 阅读 · 0 评论 -
【HDU3949】XOR-异或线性基
测试地址:XOR 题目大意:给定nnn个正整数,它的每个子集(除空集外)都有一个异或和,求这些异或和中严格第kkk小的值。 做法:本题需要用到异或线性基。 首先我们求出线性基,然后每种异或和对于这个线性基都有唯一的组合方式,而根据线性基的性质,它们的最高位肯定各不相同,并且没有任何一个数包含其他数的最高位,所以我们对kkk进行二进制拆分,然后从小到大把对应位的线性基异或起来就是答案了。 傻...原创 2018-03-22 12:42:56 · 266 阅读 · 0 评论 -
【BZOJ4942】整数(NOI2017)-线段树+压位
测试地址:整数 做法:本题需要用到线段树+压位。 首先考虑在某一位加111或减111的情况。在加111时,我们要从当前位开始,找到最低的为000的位,然后把这一位加111,路上经过的所有位都清零。在减111时,我们要从当前位开始,找到最低的为111的位,然后把这一位减111,路上经过的所有位都修改成111。这些操作显然可以在线段树上完成。 但是我们发现,操作的数位的范围可能特别大,达到3×1...原创 2018-05-17 08:06:02 · 275 阅读 · 0 评论