摘要: 什么是 FWT FWT 全称为 " 快速沃尔什变换: Fast Walsh Transform " 。可以用于解决位运算卷积的问题。 什么叫位运算卷积呢?我们考虑普通的卷积,即: \(C_k=\sum_{i+j=k}A_iB_j\) 位运算卷积就是下标为位运算的卷积(此处与和或用 C++ 记号,异或 阅读全文
posted @ 2020-03-29 23:38 crashed 阅读(470) 评论(0) 推荐(1) 编辑
摘要: 题目 点这里看题目。 分析 不难发现,设两人取得的下标集合为$S_a$和$S_b$,那么符合要求的下标集合对需要满足$S_a$和$S_b$对应的值全部异或起来为 0 。 因此,我们可以考虑异或为$0$的下标集合$S$,它对答案的贡献就是$2^{|S|}$。 根据这个思想,我们可以考虑如下的 DP : 阅读全文
posted @ 2020-03-29 18:14 crashed 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目 "点这里" 看题目。 分析 第一步可以将$A$数组转化成概率$P(j)$:每一步操作异或$j$的概率。 接着发现,$x$从$0$变成$i$的期望等于$x$从$i$变成$0$的期望。 这样我们的起点虽然不一样,但是终点就是一样的。这样我们可以套用随机游走的模型: $f(i)$:从$i$为起点变成 阅读全文
posted @ 2020-03-29 16:00 crashed 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目 "点这里" 看题目。 "备用网址" 。 分析 考虑容斥地计算合法路径。即用总路径的积除以不合法路径的积。 分别考虑每条边对总路径的贡献。如果一条边左连通块大小$a$,右连通块大小$b$,权为$w$,则它的贡献为$w^{ab}$。 接着考虑不合法的路径。我们用$(a,b)$表示一条路径(路径有$ 阅读全文
posted @ 2020-03-29 13:11 crashed 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目 "点这里" 看题目。 BZOJ 上是权限题目。 分析 这道题可以用点分治,但是我就是喜欢边分治 QAQ 。 分治过程中,我们考虑经过分治边的路径的最大痛苦值。一条经过分治边的路径会被分治边划分成两段(不包括分治边),我们只需要在它的最小值的那一段将它计入答案。 也就是说,对于每一条从分治块中一 阅读全文
posted @ 2020-03-29 12:53 crashed 阅读(127) 评论(0) 推荐(0) 编辑