当前位置: 首页 > news >正文

建设99网站东莞百度搜索排名优化

建设99网站,东莞百度搜索排名优化,长春关键词优化报价,医院门户网站模板下载文章目录前言解析OR定义变换#xff1a;逆变换代码AND代码XOR定义变换逆变换代码所谓快速沃尔什变换#xff0c;就是快速的沃尔玛什锦专柜变换 #xff08;逃#xff09; 前言 正常卷积的定义#xff1a;ck∑ijkaibjc_k\sum_{ijk}a_ib_jck​∑ijk​ai​bj​。 可以用FFT… 文章目录前言解析OR定义变换逆变换代码AND代码XOR定义变换逆变换代码所谓快速沃尔什变换就是快速的沃尔玛什锦专柜变换 逃 前言 正常卷积的定义ck∑ijkaibjc_k\sum_{ijk}a_ib_jck​∑ijk​ai​bj​。 可以用FFT或者NTT在 O(nlog⁡n)O(n\log n)O(nlogn) 的复杂度内解决。 然而有些时候我们计算卷积的时候下标关系并不是喜闻乐见的加法而是形如 ck∑i⊕jkaibjc_k\sum_{i\oplus jk}a_ib_jck​∑i⊕jk​ai​bj​其中的 ⊕\oplus⊕ 是 and or xor 中的一种位运算。 这个时候就需要快速莫比乌斯变换and or和快速沃尔什变换xor同样可以把复杂度降到 O(nlog⁡n)O(n\log n)O(nlogn) 级别。 解析 由于三个运算思想比较类似因此不对两个算法进行特别的区分统称为FWT。 采用类比的思想FFT先把多项式转化为点值表示乘到一起最后再反演回去。 类似的FWT也是先把多项式 A,BA,BA,B 转化为某种变换 FWT⁡(A),FWT⁡(B)\operatorname{FWT}(A),\operatorname{FWT}(B)FWT(A),FWT(B)然后乘起来得到 FWT⁡(C)\operatorname{FWT}(C)FWT(C)最后再反演回去得到 CCC。 根据不同位运算的性质对应的变换有所不同。 OR 定义 求ck∑i∣⁡jkaibjc_k\sum_{i\operatorname{|}jk}a_ib_jck​∑i∣jk​ai​bj​ 考虑或运算有如下性质若 i∣kk,j∣kki|kk,j|kki∣kk,j∣kk那么 (i∣j)∣kk(i|j)|kk(i∣j)∣kk反之亦然。 那么我们就按照这个充要条件设计变换FWT⁡or(A)k∑i∣kkAi\operatorname{FWT}_{or}(A)_k\sum_{i|kk}A_iFWTor​(A)k​∑i∣kk​Ai​。 自然语言iii 必须是 kkk 的子集才能转移。 考虑两个变换后的多项式逐项系数相乘 FWT⁡or(A)∗FWT⁡or(B)∑k(∑i∣kkai)×(∑j∣kkbj)\operatorname{FWT}_{or}(A)*\operatorname{FWT}_{or}(B)\sum_{k}(\sum_{i|kk}a_i)\times (\sum_{j|kk}b_j)FWTor​(A)∗FWTor​(B)k∑​(i∣kk∑​ai​)×(j∣kk∑​bj​) ∑k∑i∣kk∑j∣kkaibj∑k∑(i∣j)∣kkaibjFWT⁡or(C)\sum_{k}\sum_{i|kk}\sum_{j|kk}a_ib_j\sum_{k}\sum_{(i|j)|kk}a_ib_j\operatorname{FWT}_{or}(C)k∑​i∣kk∑​j∣kk∑​ai​bj​k∑​(i∣j)∣kk∑​ai​bj​FWTor​(C) 所以我们就证出了系数直接相乘是对的现在只需要一种快速的变换得到 FWT⁡or\operatorname{FWT}_{or}FWTor​ 以及将其反演的方法。 变换 还是和FFT类似的考虑分治假设我们要合并两个长度为 2n2^n2n 的序列设它们不同的最高位为1的序列为 A1A_1A1​为0的为 A0A_0A0​。 考虑 or的性质A0A_0A0​ 可以转移到 A1A_1A1​而 A1A_1A1​ 无法转移到 A0A_0A0​因此有 FWT⁡or(A)(FWT⁡or(A0),FWT⁡or(A0)FWT⁡or(A1))\operatorname{FWT}_{or}(A)(\operatorname{FWT}_{or}(A_0),\operatorname{FWT}_{or}(A_0)\operatorname{FWT}_{or}(A_1))FWTor​(A)(FWTor​(A0​),FWTor​(A0​)FWTor​(A1​)) 其中 表示系数逐项相加(f(x),g(x))(f(x),g(x))(f(x),g(x)) 表示把 f(x)f(x)f(x) 和 g(x)g(x)g(x) 顺次写出。 逆变换 那么对应的还原成原序列只需要逆向操作即可 UFWT⁡or(A)(UFWT⁡or(A0),UFWT⁡or(A0)−UFWT⁡or(A1))\operatorname{UFWT}_{or}(A)(\operatorname{UFWT}_{or}(A_0),\operatorname{UFWT}_{or}(A_0)-\operatorname{UFWT}_{or}(A_1))UFWTor​(A)(UFWTor​(A0​),UFWTor​(A0​)−UFWTor​(A1​)) 代码 写起来非常简洁 void Or(ll *x,int n,int op){for(int l1;ln;l1){for(int st0;stn;stl*2){for(int i0;il;i){ll ux[sti],vx[stli];if(op1) x[sti]u,x[stli](vu)%mod;else x[sti]u,x[stli](vmod-u)%mod;}}} }AND 和 or 的整个定义、证明几乎都是一样的。 求ck∑i⁡jkaibjc_k\sum_{i\operatorname{\}jk}a_ib_jck​∑ijk​ai​bj​ 与运算有如下性质若 ikk,jkki\kk,j\kkikk,jkk那么 (ij)kk(i\j)\kk(ij)kk反之亦然。 按照这个充要条件设计变换FWT⁡or(A)k∑i∣kkAi\operatorname{FWT}_{or}(A)_k\sum_{i|kk}A_iFWTor​(A)k​∑i∣kk​Ai​。 自然语言iii 必须是 kkk 的超集才能转移。 后面的证明一模一样变换也可以同理的得到 FWT⁡and(A)(FWT⁡and(A0)FWT⁡and(A1),FWT⁡and(A1))\operatorname{FWT}_{and}(A)(\operatorname{FWT}_{and}(A_0)\operatorname{FWT}_{and}(A_1),\operatorname{FWT}_{and}(A_1))FWTand​(A)(FWTand​(A0​)FWTand​(A1​),FWTand​(A1​)) UFWT⁡and(A)(UFWT⁡and(A0)−UFWT⁡and(A1),UFWT⁡and(A1))\operatorname{UFWT}_{and}(A)(\operatorname{UFWT}_{and}(A_0)-\operatorname{UFWT}_{and}(A_1),\operatorname{UFWT}_{and}(A_1))UFWTand​(A)(UFWTand​(A0​)−UFWTand​(A1​),UFWTand​(A1​)) 代码 void And(ll *x,int n,int op){for(int l1;ln;l1){for(int st0;stn;stl*2){for(int i0;il;i){ll ux[sti],vx[stli];if(op1) x[sti](uv)%mod,x[stli]v;else x[sti](umod-v)%mod,x[stli]v;}}} }XOR 这个和之前的有所不同。 定义 求ck∑i⊕⁡jkaibjc_k\sum_{i\operatorname{\oplus}jk}a_ib_jck​∑i⊕jk​ai​bj​ 设 d(x)d(x)d(x) 为二进制下 xxx 的1的个数的奇偶性模2的结果。 有性质d(ik)⊕d(jk)d((i⊕j)k)d(i\ k)\oplus d(j\ k)d((i\oplus j)\ k)d(ik)⊕d(jk)d((i⊕j)k)。 证明 由于与运算只考虑 kkk 为1的那些位。如果某一位 i,ji,ji,j 都是1或0那么等号两边的奇偶性都不改变如果某一位 i,ji,ji,j 一个是1一个是0那么等号两边的奇偶性都改变所以等号两遍的奇偶性始终同步改变最后就一定是相等的。 设计 FWT⁡xor(A)k∑i(−1)d(ik)ai\operatorname{FWT}_{xor}(A)_k\sum_{i} (-1)^{d(i\ k)}a_iFWTxor​(A)k​i∑​(−1)d(ik)ai​ 那么还是尝试逐项相乘 FWT⁡xor(A)∗FWT⁡xor(B)∑k(∑i(−1)d(ik)ai)×(∑j(−1)d(jk)bj)\operatorname{FWT}_{xor}(A)*\operatorname{FWT}_{xor}(B)\sum_k(\sum_{i} (-1)^{d(i\ k)}a_i)\times (\sum_{j} (-1)^{d(j\ k)}b_j)FWTxor​(A)∗FWTxor​(B)k∑​(i∑​(−1)d(ik)ai​)×(j∑​(−1)d(jk)bj​) ∑k∑i,j(−1)d(ik)d(jk)aibj∑k∑i,j(−1)d(ik)⊕d(jk)aibj\sum_k\sum_{i,j} (-1)^{d(i\ k)d(j\ k)}a_ib_j\sum_k\sum_{i,j} (-1)^{d(i\ k)\oplus d(j\ k)}a_ib_jk∑​i,j∑​(−1)d(ik)d(jk)ai​bj​k∑​i,j∑​(−1)d(ik)⊕d(jk)ai​bj​ ∑k∑i,j(−1)d((i⊕j)k)aibjFWT⁡xor(C)\sum_k\sum_{i,j} (-1)^{d((i\oplus j)\ k)}a_ib_j\operatorname{FWT}_{xor}(C)k∑​i,j∑​(−1)d((i⊕j)k)ai​bj​FWTxor​(C) 得证。 变换 还是分治的思想考虑到增加一位后只有下标最高位带1的数贡献到了下标最高位带1的位置时最高位与运算结果为11的个数增加一个奇偶性改变所有的符号都变为相反。其它的转移都不变。 也就是 FWT⁡xor(A)(FWT⁡xor(A0)FWT⁡xor(A1),FWT⁡xor(A0)−FWT⁡xor(A1))\operatorname{FWT}_{xor}(A)(\operatorname{FWT}_{xor}(A_0)\operatorname{FWT}_{xor}(A_1),\operatorname{FWT}_{xor}(A_0)-\operatorname{FWT}_{xor}(A_1))FWTxor​(A)(FWTxor​(A0​)FWTxor​(A1​),FWTxor​(A0​)−FWTxor​(A1​)) 逆变换 反过来即可。 FWT⁡xor(A)(FWT⁡xor(A0)FWT⁡xor(A1)2,FWT⁡xor(A0)−FWT⁡xor(A1)2)\operatorname{FWT}_{xor}(A)(\frac{\operatorname{FWT}_{xor}(A_0)\operatorname{FWT}_{xor}(A_1)}{2},\frac{\operatorname{FWT}_{xor}(A_0)-\operatorname{FWT}_{xor}(A_1)}{2})FWTxor​(A)(2FWTxor​(A0​)FWTxor​(A1​)​,2FWTxor​(A0​)−FWTxor​(A1​)​) 代码 void Xor(ll *x,int n,int op){for(int l1;ln;l1){for(int st0;stn;stl*2){for(int i0;il;i){ll ux[sti],vx[stli];if(op1) x[sti](uv)%mod,x[stli](umod-v)%mod;else x[sti](uv)%mod*499122177%mod,x[stli](umod-v)%mod*499122177%mod;}}} }Thanks for reading!
http://www.sadfv.cn/news/65053/

相关文章:

  • 北京做网络工程公司的网站餐厅装修
  • 克隆网站首页做单页站几个文件深圳 公司网站设计
  • 郑州大学现代远程教育《网页设计与网站建设》课程考核要求怎么做一个购物平台网站
  • 宿州网站建设公司哪家好望野怎么读
  • 合肥网站建设q.479185700惠建设一个微网站要花多少钱
  • 盐城做网站如何创建网站下载
  • 优化免费网站建设建站系统
  • 有什么好的网站建设的书手机网站 底部菜单
  • 布吉做棋牌网站建设找哪家效益快南海网站智能推广
  • 做网站选哪家医疗网站是否全部需要前置备案
  • 03340网站建设与管理wordpress美化登录界面
  • wordpress展示企业主题免费关键词搜索优化
  • 关于网站建设项目实训报告安卓app开发模板
  • 公司网站建设对公司的重要性女教师遭网课入侵直播录屏曝光
  • 网站导航营销步骤怎么上传wordpress
  • 专业网站建设商城价格wordpress attachment
  • 深圳大型论坛网站建设广州站
  • python做的网站有什么漏洞自己有网站 做app吗
  • 好的文案网站wordpress 资源主题
  • 千博企业网站管理系统营销旗舰版消费金融网站建设
  • wordpress公众号抓取网站优化软件排名技术
  • 如何把图片做网站背景专业购物网站建设哪家好
  • 关于做无机化学实验的网站爱链接外链购买
  • 中铝长城建设有限公司网站小程序登录代码
  • 仪器网站模板广东省外贸网站建设
  • 郑州上街区网站建设公司中小型网站建设案例
  • 福州微信营销网站建设网站开发汇报ppt模板
  • 美容行业培训网站建设营销推广的作用
  • 网做 网站有哪些功能南京网站网站建设学校
  • 洛阳恒凯做的网站有哪些信阳网站建设招聘