随笔分类 - 数学-生成函数-FWT,FMT,FST
摘要:题目 点这里看题目。 分析 感觉已经很久没有正儿八经地写题解了,特意水一篇证明我还活着。 这个问题实际上就是要我们求一个子集和,不过数据范围很有诈骗的嫌疑:很容易让人只注意到 和 ,而忽略了 这个参数。 从三个角度来思考这个问题: 针对 ?,我们可以直接枚举所有
阅读全文
摘要:题目 点这里看题目。 分析 显然可以构建出二分图的模型:将菜田放在左部,将订单放在右部,那么成为 Cabbage Master 的条件就是存在一个右部点被覆盖完的完美匹配。 那么很容易想到使用 Hall 定理。我们可以枚举右部的一个点集,并且取出右部中每个点的邻接点的并集,检查邻接点的总量是否足够。
阅读全文
摘要:什么是 FWT FWT 全称为 " 快速沃尔什变换: Fast Walsh Transform " 。可以用于解决位运算卷积的问题。 什么叫位运算卷积呢?我们考虑普通的卷积,即: 位运算卷积就是下标为位运算的卷积(此处与和或用 C++ 记号,异或
阅读全文
摘要:题目 点这里看题目。 分析 不难发现,设两人取得的下标集合为和,那么符合要求的下标集合对需要满足和对应的值全部异或起来为 0 。 因此,我们可以考虑异或为的下标集合,它对答案的贡献就是。 根据这个思想,我们可以考虑如下的 DP :
阅读全文
摘要:题目 "点这里" 看题目。 分析 第一步可以将数组转化成概率:每一步操作异或的概率。 接着发现,从变成的期望等于从变成的期望。 这样我们的起点虽然不一样,但是终点就是一样的。这样我们可以套用随机游走的模型: :从为起点变成
阅读全文
摘要:题目 "点这里" 看题目。 分析 设为的二进制中的个数。因此 看一看每次转移,我们发现最不友好的东西就是,因此我们得想办法把它从我们的计算中丢掉。 发现对于中的所有数,两两异或之后不会超过
阅读全文
摘要:题目 点这里看题目。 分析 我们先放宽条件,重新定义五元组如下: 1.。 2.。 并且设$v(a,b,c,d,e)=(s_a|s_b)&s_c&(s_d\oplus s_e)\oplus
阅读全文