日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P6097-[模板]子集卷积

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P6097-[模板]子集卷积 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P6097


題目大意

長度為2n2^n2n的序列a,ba,ba,b求一個ccc滿足
ck=∑i∣j=k,i&j=?ai×bjc_k=\sum_{i|j=k,i\&j=\varnothing}a_i\times b_jck?=ij=k,i&j=??ai?×bj?


解題思路

從炫酷反演魔術過來的,順便寫掉這題

簡單的說就是求kkk的所有子集和其補集的乘積和。
只有i∣j=ki|j=kij=k的話就是普通的FWT\text{FWT}FWT了,但是還有i&j=?i\&j=\varnothingi&j=?這個東西。
一個巧妙的想法是把這個條件轉換為∣i∣+∣j∣=∣i∪j∣|i|+|j|=|i\cup j|i+j=ij,顯然兩個之間是充要的。
然后可以把aia_iai?存在fct(i),if_{ct(i),i}fct(i),i?這個位置,其中ct(i)ct(i)ct(i)表示iii111的個數。同理bib_ibi?存在gct(i),ig_{ct(i),i}gct(i),i?這個位置。

然后就有卷積
ha,b=∑i+j=a,x∣y=bfi,x×gj,yh_{a,b}=\sum_{i+j=a,x|y=b}f_{i,x}\times g_{j,y}ha,b?=i+j=a,xy=b?fi,x?×gj,y?
這個先暴力FWT\text{FWT}FWTf,gf,gf,g然后暴力卷積然后IFWT\text{IFWT}IFWT回去就好了。

時間復雜度O(n22n)O(n^22^n)O(n22n),不能全開long?long\text{long long}long?long不然會T\text TT


code

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=21,P=1e9+9; int n,k,ct[1<<N],f[N][1<<N],g[N][1<<N],h[N][1<<N]; void FWT(int *f,int op){for(int p=2;p<=n;p<<=1)for(int k=0,len=p>>1;k<n;k+=p)for(int i=k;i<k+len;i++)(f[i+len]+=(f[i]*op+P)%P)%=P;return; } signed main() {// printf("%d",sizeof(f)>>20);scanf("%d",&k);n=(1<<k);for(int i=0;i<n;i++){if(i)ct[i]=ct[i-(i&-i)]+1;scanf("%d",&f[ct[i]][i]);}for(int i=0;i<n;i++)scanf("%d",&g[ct[i]][i]);for(int i=0;i<=k;i++)FWT(f[i],1),FWT(g[i],1);for(int i=0;i<=k;i++)for(int j=0;j<=i;j++)for(int x=0;x<n;x++)(h[i][x]+=1ll*f[j][x]*g[i-j][x]%P)%=P;for(int i=0;i<=k;i++)FWT(h[i],-1);for(int i=0;i<n;i++)printf("%d ",h[ct[i]][i]);return 0; }

總結

以上是生活随笔為你收集整理的P6097-[模板]子集卷积的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩区欧美区 | 黄色在线a | 91精品久久久久久久久久 | 一区二区三区四区在线免费观看 | 国家队动漫免费观看在线观看晨光 | 中文字幕乱码中文字幕 | 亚洲第一成人av | 国产区精品在线观看 | 三级91| 女人久久 | 一区二区日韩 | 在线看av网址 | 偷拍青青草 | 亚洲免费人成 | 国产资源第一页 | 日日夜夜操操 | 涩涩网址 | 欧美专区第二页 | 中文字幕日韩av | 国产黄色在线免费观看 | 99精品免费视频 | 中文字幕一区日韩 | 欧美日韩在线视频 | 禁网站在线观看免费视频 | 中国少妇无码专区 | 农村偷人一级超爽毛片 | 免费一级特黄特色毛片久久看 | 91蝌蚪91密月| 播播激情网 | 欧美黄色大片视频 | 天堂а√在线中文在线鲁大师 | xxxx精品 | 国产尤物 | 日韩精品一区二区三区在线视频 | 伊人久久超碰 | 特大黑人巨人吊xxxx | 亚洲精品乱码久久久久久蜜桃不卡 | 欧洲久久久久 | 国产56页| 久久久精品国产 | 一区二区三区久久精品 | 国产免费91视频 | 欧美人与禽猛交乱配视频 | 国产91一区 | 国产美女又黄又爽又色视频免费 | 一个色综合网 | 成人午夜视频免费 | 日韩欧美一区二区三区四区五区 | 色婷婷六月天 | 欧美日韩极品 | 欧美视频免费 | 男女一进一出视频 | 国产精品免费看 | 好吊操精品视频 | 九九热免费在线 | 男女视频在线免费观看 | 日本精品视频在线播放 | jizz中国少妇 | 黄色综合网站 | 国产精品久久久无码一区 | 国产一区二区三区在线免费观看 | 天天5g天天爽免费观看 | 美女网站在线免费观看 | 伊人影视在线 | 你懂的网址在线观看 | 久久国产一区二区三区 | 一级二级三级黄色片 | 97视频成人 | 久久一区二区电影 | 天天上天天干 | 狠狠人妻久久久久久综合蜜桃 | 中国老头性行为xxxx | 亚洲欧美日韩国产综合 | 男女性生活视频网站 | 亚洲三级中文字幕 | 中文字幕在线一区二区三区 | 欧美激情综合 | 国产成人久久77777精品 | 熟妇人妻系列aⅴ无码专区友真希 | 免费无码av片在线观看 | 国产精彩视频在线观看 | 日本视频h| 色爽交| 久久久久亚洲av片无码 | 国产免费a | 日韩中文网 | 日韩中文字幕亚洲精品欧美 | 无码不卡av东京热毛片 | 秋霞欧洲 | 婷婷精品一区二区三区 | 亚洲AV无码国产成人久久 | 亚洲欧美激情在线观看 | 精品国产区一区二 | 亚洲狠狠 | 亚洲xx网站 | 丰满双乳秘书被老板狂揉捏 | 日本国产一区二区三区 | 欧洲午夜精品 | 国产三级一区二区三区 |