DP hduHDU 5119

来源:互联网 发布:淘宝衣服图片素材 编辑:程序博客网 时间:2024/06/10 08:27
#include<bits/stdc++.h>using namespace std;typedef long long ll;int a[41];ll dp[3][(1<<20)+100];int main(){    int t,kase=1;scanf("%d",&t);    while(t--){        memset(dp,0,sizeof(dp));        int n,m;scanf("%d%d",&n,&m);        for(int i=1;i<=n;i++) scanf("%d",&a[i]);        dp[0][0]=1;        for(int i=1;i<=n;i++)            for(int j=0;j<=(1<<20);j++)            dp[i%2][j]=dp[(i-1)%2][j]+dp[(i-1)%2][j^a[i]];//            printf("%lld\n",dp[n%2][1<<20]);        ll sum=0;        for(int i=m;i<=(1<<20);i++) { sum+=dp[n%2][i]; if(dp[n%2][i]!=0); }//        printf("%lld\n",dp[n%2][1<<20]);//        for(int i=m+1;i<=30;i++) {  printf("%lld ",sum); }        printf("Case #%d: %lld\n",kase++, sum);    }    return 0;}

0 0
原创粉丝点击