Codeforces - Vowels
生活随笔
收集整理的這篇文章主要介紹了
Codeforces - Vowels
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:Codeforces - Vowels
考慮直接維護每個狀態的合法個數。
考慮使用sos dp維護。那么我們對于每個字符串,只需要對子集容斥一下即可。
AC代碼:
#pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bits/stdc++.h> //#define int long long using namespace std; const int N=(1<<24); int n,dp[N],cnt[N],res; char s[4]; signed main(){cin>>n;for(int i=1;i<N;i++) cnt[i]=cnt[i/2]+(i&1);for(int i=1,sta;i<=n;i++){scanf("%s",s+1); sta=0;for(int j=1;j<=3;j++) sta|=(1<<(s[j]-'a'));for(int j=sta;j;j=(j-1)&sta) dp[j]+=(cnt[j]%2?1:-1);}for(int i=0;i<24;i++) for(int j=0;j<N;j++)if(j>>i&1) dp[j]+=dp[j^(1<<i)];for(int i=0;i<N;i++) res^=dp[i]*dp[i];cout<<res;return 0; }總結
以上是生活随笔為你收集整理的Codeforces - Vowels的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32cubeide外部中断_【ST
- 下一篇: 一键抠图工具有哪些?这5款亲测好用