51Nod1773 A国的贸易 多项式 FWT】的更多相关文章

原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1773.html 题目传送门 - 51Nod1773 题意 给定一个长度为 $2^n$ 的序列,第 $i$ 项为 $f_{i-1}$ . 现在让你做 $T$ 次这样的运算:($i\in[0,2^n)$) $$f^{\prime}_i=f_i+\sum_{j=0}^{n-1} f_{i\ {\rm XOR} \ 2^j}$$ 输出最终的 $f$ 序列. 题解 构造转移多项式 $g$ .使得 $g_0=…
基准时间限制:2 秒 空间限制:524288 KB 分值: 40  A国是一个神奇的国家. 这个国家有 2n 个城市,每个城市都有一个独一无二的编号 ,编号范围为0~2n-1. A国的神奇体现在,他们有着神奇的贸易规则. 当两个城市u,v的编号满足calc(u,v)=1的时候,这两个城市才可以进行贸易(即有一条边相连).而calc(u,v)定义为u,v按位异或的结果的二进制表示中数字1的个数. ex:calc(1,2)=2         ——> 01 xor 10 = 11        ca…
[51Nod1773]A国的贸易 Description 给出一个长度为 \(2^n\) 的序列,编号从\(0\)开始.每次操作后,如果 \(i\) 与 \(j\) 的二进制表示只差一位则第 \(i\) 个数会加上操作前的第 \(j\) 个数.求 \(t\) 次操作后序列中的每个数是多少. Input 第一行两个正整数 \(n\) ,\(t\),意义如题. 第二行 \(2^n\) 个非负整数,第 \(i\) 个数表示编号为 \(i-1\) 的城市的初始货物存储量. \(n<=20 \ t<=1…
[51Nod 1773] A国的贸易 题目描述 A国是一个神奇的国家. 这个国家有 2n 个城市,每个城市都有一个独一无二的编号 ,编号范围为0~2n-1. A国的神奇体现在,他们有着神奇的贸易规则. 当两个城市u,v的编号满足calc(u,v)=1的时候,这两个城市才可以进行贸易(即有一条边相连). 而calc(u,v)定义为u,v按位异或的结果的二进制表示中数字1的个数. ex:calc(1,2)=2 --> 01 xor 10 = 11 calc(100,101)=1 --> 0110,…
题目描述 给出一个长度为 $2^n$ 的序列,编号从0开始.每次操作后,如果 $i$ 与 $j$ 的二进制表示只差一位则第 $i$ 个数会加上操作前的第 $j$ 个数.求 $t$ 次操作后序列中的每个数是多少. 输入 第一行两个正整数 n , t,意义如题. 第二行 2^n 个非负整数,第 i 个数表示编号为 i-1 的城市的初始货物存储量.n<=20  t<=10^9 输出 输出一行 2^n 个非负整数. 第 i 个数表示过了 t 天后,编号为 i-1 的城市上的货物数量对 1e9+7 取模…
题解 FWT板子题 可以发现 \(dp[i][u] = \sum_{i = 0}^{N - 1} dp[i - 1][u xor (2^i)] + dp[i - 1][u]\) 然后如果把异或提出来可以变成一个异或卷积 也就是另一个数组里只有\(0\),\(2^0\),\(2^1\)...\(2^{n - 1}\)有值 用FWT变换一下,然后快速幂,之后和原数组卷积起来就是答案了 代码 #include <iostream> #include <algorithm> #includ…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1773 参考1:FWT讲解 https://www.cnblogs.com/RabbitHu/p/9182047.html 参考2:题解 https://www.cnblogs.com/ivorysi/p/9178577.html (令$\oplus$表示异或) 设$dp[i][j]$表示第$i$天$j$编号城市货物数. 因为只有$i \oplus j$的答案有一个1才能…
FWT快速沃尔什变换学习笔记 1.FWT用来干啥啊 回忆一下多项式的卷积\(C_k=\sum_{i+j=k}A_i*B_j\) 我们可以用\(FFT\)来做. 甚至在一些特殊情况下,我们\(C_k=\sum_{i*j=k}A_i*B_j\)也能做(SDOI2015 序列统计). 但是,如果我们把操作符换一下呢? 比如这样? \(C_k=\sum_{i|j=k}A_i*B_j\) \(C_k=\sum_{i\&j=k}A_i*B_j\) \(C_k=\sum_{i\wedge j=k}A_i*B_…
解决涉及子集配凑的卷积问题 一.介绍 1.基本用法 FWT快速沃尔什变换学习笔记 就是解决一类问题: $f[k]=\sum_{i\oplus j=k}a[i]*b[j]$ 基本思想和FFT类似. 首先转化成为另一个多项式$FWT(A),FWT(B)$ 使得:$FWT(A\oplus B)=FWT(A)×FWT(B)$ 这里,$×$是按位乘.这个是$O(n)$的. 然后,再$IFWT$回去即可. 类似于,直接过马路不好走.先从左边走上一座天桥,再从天桥走过去,再到马路右侧走下天桥. 就变成了$O(…
[uoj#310][UNR #2]黎明前的巧克力 FWT - GXZlegend - 博客园 f[i][xor],考虑优化暴力,暴力就是FWT xor一个多项式 整体处理 (以下FWT代表第一步) FWT之后,一定只有-1,3 而FWT的和等于和的FWT 所以做和,然后FWT一下 列方程就可以得到每一位的-1和3的个数了 而对于一些多项式,分别FWT.IFWT和FWT后乘起来再IFWT是一样的 我们已经快速幂得到n个多项式FWT的乘积了 再做一次IFWT即可 还是想到FWT集体处理,必然要注意顺…