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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

2020 区域赛(沈阳) M. United in Stormwind fwt + sosdp

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020 区域赛(沈阳) M. United in Stormwind fwt + sosdp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

文章目錄

  • 題意:
  • 思路:

題意:

nnn個試卷,每個試卷有mmm個問題,每個問題有兩個選項a,ba,ba,b,定義兩個試卷不同當且僅當其選中的問題中有一個問題不同。現在問你對于mmm個問題的所有子集,有多少個子集問題不同的對數≥k\ge kk個。
1≤n≤2e5,1≤m≤20,1≤k≤n?(n?1)21\le n\le2e5,1\le m\le20,1\le k\le\frac{n*(n-1)}{2}1n2e5,1m20,1k2n?(n?1)?

思路:

我們將不同選項看成010101串,兩個集合不完全相同的話他們的異或肯定不為000,對于我們已經選中的子集SSS來說,他的答案為F(S)=∑i=1n∑j=i+1n[ansi⊕ansj>0]F(S)=\sum_{i=1}^n\sum_{j=i+1}^n[ans_i\oplus ans_j>0]F(S)=i=1n?j=i+1n?[ansi?ansj?>0]
考慮將這個式子轉換一下,設cnt[i]cnt[i]cnt[i]代表iii這個二進制出現了幾次,F(S)=12?∑i⊕j=Scnt[i]?cnt[j]F(S)=\frac{1}{2}*\sum_{i\oplus j=S}cnt[i]*cnt[j]F(S)=21??ij=S?cnt[i]?cnt[j],這個顯然可以fwtfwtfwt處理出來。
那么考慮SSS對于哪些子集有貢獻,舉個例子,比如子集是110110110,那么他有貢獻的子集集合是100,110,101,010,011,111100,110,101,010,011,111100,110,101,010,011,111,一開始沒注意到101,011101,011101,011這兩個集合,以為直接sosdpsosdpsosdp求一遍超集一遍子集就有了,顯然是不可以的。
正著來不好弄,我們考慮將其容斥一下。
對于110110110,顯然他沒有貢獻到的集合就是001001001的超集,也就是其補集的超集,所以我們做一個容斥,記G[S]G[S]G[S]表示SSS集合中對應答案相同的點對數量,這個可以用sosdpsosdpsosdp求出來超集,答案即為∑i=0(1<<m)?1[n?(n?1)2?G[i]>=k]\sum_{i=0}^{(1<<m)-1}[\frac{n*(n-1)}{2}-G[i]>=k]i=0(1<<m)?1?[2n?(n?1)??G[i]>=k]

// Problem: United in Stormwind // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/18713/M // Memory Limit: 2097152 MB // Time Limit: 4000 ms // // Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native") //#pragma GCC optimize(2) #include<cstdio> #include<iostream> #include<string> #include<cstring> #include<map> #include<cmath> #include<cctype> #include<vector> #include<set> #include<queue> #include<algorithm> #include<sstream> #include<ctime> #include<cstdlib> #include<random> #include<cassert> #define pb push_back #define mk make_pair #define Mid ((tr[u].l+tr[u].r)>>1) #define Len(u) (tr[u].r-tr[u].l+1) #define random(a,b) ((a)+rand()%((b)-(a)+1)) #define db puts("---") using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); } void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); } //void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> PII;const int N=10000010,mod=1e9+7,INF=0x3f3f3f3f; const double eps=1e-6;int n,m; LL a[N],k; LL f[N],g[N]; char s[N];void FWT_xor(LL *a,int opt,int N) {for(int i=1;i<N;i<<=1)for(int p=i<<1,j=0;j<N;j+=p)for(int k=0;k<i;++k){LL X=a[j+k],Y=a[i+j+k];a[j+k]=(X+Y);a[i+j+k]=(X-Y);if(opt==-1)a[j+k]=1ll*a[j+k]/2,a[i+j+k]=1ll*a[i+j+k]/2;} }int main() { // ios::sync_with_stdio(false); // cin.tie(0);cin>>n>>m>>k;for(int i=1;i<=n;i++) {scanf("%s",s);int now=0;for(int j=0;s[j];j++) {if(s[j]=='B') now+=1<<j;}a[now]++;}FWT_xor(a,1,1<<m);for(int i=0;i<1<<m;i++) a[i]=a[i]*a[i];FWT_xor(a,-1,1<<m);a[0]-=n;for(int i=0;i<1<<m;i++) g[i^((1<<m)-1)]=a[i]/2;for(int i=0;i<m;i++) {for(int j=0;j<1<<m;j++) {if(j>>i&1) g[j^(1<<i)]+=g[j];}}int ans=0;for(int i=1;i<1<<m;i++) {LL now=1ll*n*(n-1)-g[i]*2;if(now>=k*2) ans++;}cout<<ans<<endl;return 0; } /*110 -> 001 001 -> 110 111 -> 000010 101 011110 +1 -> 100 010 111 101 011 -> 100 110 101 111 | 010 110 011 111 001 +1 111 +1100 +1 +1 010 +1 +1 001 +1 +1 110 +1 101 +1 +1 +1 011 +1 +1 +1 111 +1 +1 +1*/

總結

以上是生活随笔為你收集整理的2020 区域赛(沈阳) M. United in Stormwind fwt + sosdp的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久久久久久97 | 日本三级aaa | av特黄 | 日本免费一区二区三区四区 | 国产黄色片在线 | 游戏涩涩免费网站 | 97在线免费 | 艹男人的日日夜夜 | 欧美贵妇videos办公室 | 激情文学av| 亚洲最新av网址 | 一区二区xxx | 嫩草网站| 91人人干 | 免费a在线观看 | 日韩欧美四区 | 九色网址 | 久草这里只有精品 | 极品白嫩的小少妇 | 亚洲精品国产精品乱码 | 欧美专区在线观看 | 精品日本一区二区 | 欧美日韩在线观看一区二区三区 | 天天天天躁天天爱天天碰2018 | 最近最经典中文mv字幕 | 国产精品一区二区人人爽 | 92精品 | 美女综合网 | 久久久久久久久久综合 | 欧美一区亚洲一区 | 欧美一区三区二区在线观看 | 免费av网站在线 | 欧美黄色大片免费观看 | 亚洲永久精品国产 | 少妇人妻无码专区视频 | 日韩电影三级 | 久久精品国产一区二区 | 国产乱人乱精一区二视频国产精品 | 人妻无码一区二区三区久久 | 瑟瑟在线视频 | 99中文字幕在线观看 | 国产精品久久久无码一区 | 日韩国产片 | 精品国产aⅴ麻豆 | 天天曰夜夜操 | 欧美视频久久 | 久久人妻无码aⅴ毛片a片app | 天堂最新资源在线 | 手机免费av片 | 一起艹在线观看 | 人人射人人射 | 欧美成人一区二区三区四区 | www.成人精品| 激情综合五月婷婷 | 久久久久久69 | 韩日精品中文字幕 | 国产精品99久久久久久久女警 | 99在线视频播放 | 日日噜噜夜夜狠狠久久丁香五月 | 女上男下动态图 | 中文字幕一本 | 少妇激情一区二区三区视频 | 久久久久久久美女 | 天天色图片| 欧美情侣性视频 | 成人午夜一区 | 99成人国产精品视频 | av一区二区三区 | 久久亚洲视频 | 中文在线资源 | 国产黄色片在线免费观看 | 黄91在线观看 | 欧美 唯美 清纯 偷拍 | 97视频在线免费观看 | 成人精品免费在线观看 | 婷婷人体 | 草草影院欧美 | 乱人伦中文字幕 | 日本特黄 | 91视 | 欧美一区二区三区免费看 | 日本福利网站 | 性感美女一区 | 国产一区二区免费看 | 欧美日韩一区二区在线视频 | av免费毛片 | 性视频免费 | 亚洲综合精品国产一区二区三区 | 神马久久网站 | 日韩av中文字幕在线播放 | 国产十八熟妇av成人一区 | 日本在线看片 | 国产成人精品免费网站 | 亚洲国产97在线精品一区 | 欧美日韩不卡合集视频 | 亚洲妇熟xx妇色黄蜜桃 | 国产第二页 | 友田真希一区二区 | 少妇在线 |