随笔分类 -  线性基

摘要:k=1的话非常好做,每个有1的位都有一半可能性提供贡献。由组合数的一些性质非常容易证明。 k=2的话,平方的式子展开可以发现要计算的是每一对位提供的贡献,于是需要计算每一对位被同时选中的概率。找出所有存在的相互绑定的位,这些位被同时选择的概率为0.5,而不被绑定的则为0.25。 对于k>=3,其实用 阅读全文
posted @ 2018-10-04 08:35 Gloid 阅读(278) 评论(0) 推荐(0)
摘要:考虑异或最短路应该怎么求。那么这是个WC原题,dfs一遍找到所有有用的环丢进线性基即可,因为每一个环的权值都是可以取到且不对其他部分产生影响的。 现在给了一棵树,不妨就把他看做原图的dfs树。每增加一条边就是增加了一个环。算出权值后,现在问题变为求一个数和任选一段区间里的数的最大异或值。 比较暴力的 阅读全文
posted @ 2018-09-17 12:27 Gloid 阅读(513) 评论(0) 推荐(0)
摘要:按价值从大到小考虑每个元素,维护一个线性基,如果向其中加入该元素的编号仍然构成线性基,则将其加入。 不会证明。当做线性基的一个性质吧。 阅读全文
posted @ 2018-09-02 19:06 Gloid 阅读(122) 评论(0) 推荐(0)
摘要:构造线性基后将其消至对任意位至多只有一个元素该位为1。于是就可以贪心了,将k拆成二进制就好。注意check一下是否能异或出0。 阅读全文
posted @ 2018-07-29 00:25 Gloid 阅读(355) 评论(0) 推荐(0)
摘要:上一题的强制在线版。对图跑出一个dfs树,给非树边赋上随机权值,树边的权值为覆盖他的非树边权值的异或。这样如果某条树边和覆盖他的非树边都被割掉(即图不连通),他们的异或值就为0。每次对询问看有没有子集异或值为0即可,可以简单地用线性基搞定。 阅读全文
posted @ 2018-07-28 16:32 Gloid 阅读(319) 评论(0) 推荐(0)